/* WordPress-specific responsive safeguards. The static source has no admin bar;
   these rules keep the theme usable in both logged-in previews and client view. */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img,
iframe,
video {
	max-width: 100%;
	height: auto;
}

input,
textarea,
select,
button {
	max-width: 100%;
}

/* The phone entry belongs only to the collapsed navigation. */
.mobile-whatsapp {
	display: none;
}

/* Floating WhatsApp control: official colour with a centred, proportionate mark. */
.whatsapp-float {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border-radius: 50%;
	background: #25d366;
	font-size: 0;
	line-height: 1;
}
.whatsapp-float::before {
	display: block;
	width: 22px;
	height: 22px;
	margin: 0;
	background-color: #fff;
	-webkit-mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
	mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
}

/* Matches the reference header social widget: 18px glyphs in 32.4px circles. */
@media (min-width: 1025px) {
	.topbar { height: 53px; }
	.topbar .container { min-height: 53px; }
	.topbar .header-socials {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 5px;
		margin: 0;
		padding: 0;
	}
	.topbar .header-socials a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 32.4px;
		width: 32.4px;
		height: 32.4px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--yellow);
		color: var(--navy);
		line-height: 1;
	}
	.topbar .header-socials a::before { content: none !important; }
	.topbar .header-socials svg {
		display: block;
		width: 18px;
		height: 18px;
		fill: currentColor;
	}
}

/* Shared logo sizing: preserve the transparent PNG's natural circle and avoid a boxed canvas. */
.logo,
.footer-logo {
	display: flex;
	align-items: center;
	line-height: 0;
	background: transparent;
}
.logo {
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
}
.logo img {
	display: block;
	width: 48px !important;
	height: 48px !important;
	max-width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	object-fit: contain;
}
.footer-logo {
	justify-content: flex-start;
}
.footer-logo img {
	display: block;
	width: 120px !important;
	height: 120px !important;
	max-width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	object-fit: contain;
}

@media (min-width: 1025px) {
	.site-footer .footer-grid { grid-template-columns: 1.25fr 1fr 1fr; }
}

@media (min-width: 768px) and (max-width: 1024px) {
	.logo { flex-basis: 46px; width: 46px; }
	.logo img { width: 46px !important; height: 46px !important; }
}

@media (max-width: 767px) {
	.logo { flex-basis: 56px; width: 56px; }
	.logo img { width: 56px !important; height: 56px !important; }
	.footer-logo { justify-content: center; }
	.footer-logo img { width: 108px !important; height: 108px !important; }
}

@media (max-width: 360px) {
	.logo { flex-basis: 50px; width: 50px; }
	.logo img { width: 50px !important; height: 50px !important; }
}

/* The desktop CTA belongs to the main navigation row, never the top bar. */
.nav::after { display: none !important; }
.header-whatsapp-btn {
	display: none;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	background: #ffc03d;
	color: #212d45;
	font: 400 12px/1 'Open Sans', Arial, sans-serif;
	text-decoration: none;
	white-space: nowrap;
}

@media (min-width: 1025px) {
	.nav-wrap {
		display: grid;
		grid-template-columns: 85px minmax(0, 1fr) 158px;
		column-gap: 26px;
		align-items: center;
	}
	.nav-wrap > .nav {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header-whatsapp-btn {
		display: inline-flex;
		width: 158px;
		height: 47px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.nav-wrap { display: flex; align-items: center; }
	.header-whatsapp-btn {
		display: inline-flex;
		width: 142px;
		height: 42px;
		margin-left: auto;
		font-size: 11px;
	}
	.menu-button { order: 3; margin-left: 18px; }
}

@media (max-width: 767px) {
	.header-whatsapp-btn { display: none !important; }
}

@media (max-width: 1024px) {
	.nav .mobile-whatsapp {
		display: block;
	}
}

@media (max-width: 767px) {
	body[data-page="home"] .courses,
	body[data-page="courses"] .courses {
		height: auto;
		min-height: 0;
	}

	body[data-page="home"] .courses .section-head,
	body[data-page="courses"] .courses .section-head {
		height: auto;
		min-height: 0;
		margin-bottom: 30px;
	}

	/* Neutralise old viewport-specific footer heights. The footer must end with
	   its copyright row instead of leaving an empty navy block underneath it. */
	.site-footer {
		height: auto;
		min-height: 0;
	}

	.site-footer .footer-grid {
		height: auto;
		min-height: 0;
	}

	.copyright {
		height: auto;
		min-height: 0;
		margin-bottom: 0;
	}

	.whatsapp-float {
		left: 24px;
		bottom: 24px;
		width: 48px;
		height: 48px;
		padding: 0;
		line-height: 1;
		align-items: center;
		justify-items: center;
	}
}

/* Replace the temporary ring glyph with the actual WhatsApp mark. */
.whatsapp-float::before,
.footer-social a:nth-child(3)::before,
.topbar .social a:nth-child(3)::before {
	content: '';
	display: block;
	width: 23px;
	height: 23px;
	background: currentColor;
	-webkit-mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
	mask: url('../assets/icons/whatsapp.svg') center / contain no-repeat;
}

.whatsapp-float::before {
	color: #fff;
	width: 21px;
	height: 21px;
}

.footer-social a:nth-child(3),
.topbar .social a:nth-child(3) {
	font-size: 0;
}

.footer-social a:nth-child(3)::before,
.topbar .social a:nth-child(3)::before {
	width: 16px;
	height: 16px;
	color: var(--navy, #212d45);
}

@media screen and (max-width: 782px) {
	body.admin-bar .topbar {
		top: 46px;
	}

	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar .hero,
	body.admin-bar .page-banner {
		margin-top: 46px;
	}
}

@media screen and (max-width: 600px) {
	body.admin-bar .topbar,
	body.admin-bar .site-header {
		top: 46px;
	}
}

/* Renderer-only elements absent from the original Elementor DOM. */
.stat-icon {
	display: none;
}

.character-counter {
	display: block;
	margin-top: 3px;
	color: #727780;
	font-size: 10px;
	line-height: 14px;
	text-align: right;
}

@media (max-width: 767px) {
	body:not([data-page="home"]) .stat-icon {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		margin: 0 auto 12px;
		border-radius: 50%;
		background: var(--yellow, #ffc03d);
		color: #fff;
	}

	body:not([data-page="home"]) .stat-icon svg {
		width: 23px;
		height: 23px;
		fill: currentColor;
	}

	body:not([data-page="home"]) .stat::before {
		display: none;
		content: none;
	}
}

.whatsapp-float::before {
	width: 22px;
	height: 22px;
	background-color: #fff;
}
