/*
Theme Name: Anmol Academy
Theme URI: https://lakom.example/anmol-academy
Author: LakOm International Technologies
Description: A clean, modern blue & white theme for Anmol Academy — built for tuition academies, the LakOm Typing Tutor, and LakOm Forms. Tutor profile, courses, student reviews, a Book a Demo popup, and Login/Register integration — all editable in the Customizer, nothing hard-coded. Redesigned with Hello Elementor-style minimal markup: refined typography, flat UI, and softer popups, with clearer, roomier desktop navigation. System fonts, minimal JS, no external requests. Version 2.7.5 removes the "Developed by LakOm International Technologies" credit line from the front-end footer. Version 2.7.4 removes the floating WhatsApp chat-bubble widget entirely (markup, JS, CSS, and its Customizer section). The WhatsApp number field, contact page link, footer social icon, and WhatsApp Channel link are unaffected. Version 2.7.3 fixes the real cause of the floating WhatsApp icon still showing as a plain green circle for some visitors: the enqueued CSS/JS version fell back to a LAKOM_ONE_VERSION constant that had been left at 2.7.0 since that release, so on hosts where filemtime() is unreliable, browsers and CDNs kept serving the pre-fix stylesheet indefinitely even though the theme files on disk were already correct. Asset versioning now always changes on release. Version 2.7.2 fixes the floating WhatsApp icon disappearing (showing as a plain green circle) in some preview contexts by hardcoding the icon to white instead of inheriting text color. Version 2.7.1 fixes the floating WhatsApp button so it uses WhatsApp's real flat brand green (matching the button and channel-link colors elsewhere on the site) instead of a gradient, so the icon is pixel-true to WhatsApp's own round icon. Version 2.7.0 gave the floating WhatsApp button a green gradient and a bolder glyph. Version 2.6.0 swapped the floating WhatsApp icon for the standard square-grid WhatsApp glyph so it renders crisp and true-to-brand at any size. Version 2.5.0 turned the floating WhatsApp button into a chat-preview widget: tapping it opens a small card showing the pre-filled message before the visitor is sent to WhatsApp. Version 2.4.0 added the floating WhatsApp button and Google Analytics (GA4) / Google Ads conversion tracking, both fully configurable from the Customizer. Version 2.3.0 added a full-screen, glassmorphism-style account switcher (fixes the white-on-white trigger hover), a richer gradient-driven visual language, and new "Why choose us" / "How it works" front-page sections. By LakOm International Technologies.
Version: 2.7.5
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: anmol-academy
Tags: blue, white, lightweight, one-column, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* Colors live in CSS variables printed by the Customizer (inc/customizer.php).
   These are only fallbacks. */
:root {
	--lk-primary: #2456e4;
	--lk-primary-dark: #1a41b3;
	--lk-ink: #0e1b3d;
	--lk-body: #3d4a6b;
	--lk-bg: #ffffff;
	--lk-mist: #f4f7fe;
	--lk-tint: #dce7ff;
	--lk-border: #e3eafb;
	--lk-radius: 14px;
	--lk-radius-sm: 8px;
	--lk-container: 1240px;
	--lk-shadow: 0 10px 30px rgba(20, 45, 120, .08);
	--lk-shadow-sm: 0 2px 10px rgba(20, 45, 120, .06);
	--lk-shadow-lg: 0 24px 60px rgba(20, 45, 120, .16);
	--lk-gold: #f5a623;
	--lk-gradient-brand: linear-gradient(120deg, var(--lk-primary), #5b7cf5 55%, #3d8bff);
	--lk-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Reset-lite ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body {
	margin: 0;
	font-family: var(--lk-font);
	font-size: 16px; line-height: 1.75;
	font-weight: 400;
	color: var(--lk-body); background: var(--lk-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* A little extra breathing room and legibility once there's a real desktop
   viewport to use — this is a common spot where a mobile-first stylesheet
   never grows back up, leaving desktop visitors reading mobile-sized type. */
@media (min-width: 1024px) {
	body { font-size: 17px; line-height: 1.8; }
}
img { max-width: 100%; height: auto; }
a { color: var(--lk-primary); text-decoration: none; }
a:hover { color: var(--lk-primary-dark); }
:focus-visible { outline: 2px solid var(--lk-primary); outline-offset: 2px; border-radius: 4px; }

h1, h2, h3, h4, h5, h6 {
	color: var(--lk-ink); line-height: 1.3; margin: 0 0 .55em;
	font-weight: 700; letter-spacing: -.01em;
}
h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); font-weight: 700; }
h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); }
h3 { font-size: 1.3rem; font-weight: 600; }

.lk-container { max-width: var(--lk-container); margin: 0 auto; padding: 0 20px; }
.screen-reader-text {
	position: absolute !important; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden;
}
.skip-link { left: 8px; top: 8px; z-index: 999; background: var(--lk-primary); color: #fff; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { position: fixed !important; clip-path: none; width: auto; height: auto; }

/* ---------- Buttons: flat, Hello Elementor-style ---------- */
.lk-btn,
.wp-block-button__link,
button, input[type="submit"] {
	display: inline-block; cursor: pointer;
	background: var(--lk-gradient-brand); color: #fff;
	border: 0; border-radius: var(--lk-radius-sm);
	padding: 13px 28px; font-size: 1rem; font-weight: 600; font-family: inherit;
	box-shadow: none;
	transition: background-position .3s ease, transform .15s ease, box-shadow .15s ease;
	background-size: 160% 160%; background-position: 0% 0%;
}
.lk-btn:hover, .wp-block-button__link:hover, button:hover, input[type="submit"]:hover {
	background-position: 100% 100%; color: #fff; transform: translateY(-2px);
	box-shadow: var(--lk-shadow-lg);
}
.lk-btn:active, button:active { transform: translateY(0); box-shadow: none; }
.lk-btn--ghost {
	background: #fff; color: var(--lk-primary);
	box-shadow: inset 0 0 0 1.5px var(--lk-border);
}
.lk-btn--ghost:hover { background: var(--lk-mist); color: var(--lk-primary-dark); box-shadow: inset 0 0 0 1.5px var(--lk-tint); }

/* ---------- Header ---------- */
.lk-header {
	position: sticky; top: 0; z-index: 90;
	background: rgba(255, 255, 255, .92); backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--lk-border);
}
.lk-header__inner { display: flex; align-items: center; gap: 14px; min-height: 74px; flex-wrap: nowrap; }
.lk-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.15rem; color: var(--lk-ink); flex: 0 0 auto; }
.lk-brand:hover { color: var(--lk-primary); }
.lk-brand img { max-height: 40px; width: auto; }
.lk-brand__cap {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: var(--lk-radius-sm);
	background: var(--lk-gradient-brand); color: #fff; font-weight: 700; font-size: 1.05rem;
	box-shadow: 0 4px 14px rgba(36, 86, 228, .35);
}
.lk-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; min-width: 0; }
.lk-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; align-items: center; flex-wrap: nowrap; }
.lk-nav a {
	display: block; padding: 10px 14px; border-radius: var(--lk-radius-sm);
	color: var(--lk-ink); font-weight: 500; font-size: .95rem; white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}
.lk-nav a:hover, .lk-nav .current-menu-item > a, .lk-nav .current_page_item > a {
	background: var(--lk-mist); color: var(--lk-primary);
}
.lk-nav ul ul { /* dropdowns */
	position: absolute; min-width: 210px; background: #fff; border: 1px solid var(--lk-border);
	border-radius: var(--lk-radius-sm); box-shadow: var(--lk-shadow-sm); padding: 6px;
	display: none; flex-direction: column; gap: 2px;
}
.lk-nav li { position: relative; }
.lk-nav li:hover > ul, .lk-nav li:focus-within > ul { display: flex; }
.lk-nav__drawer-close { display: none; }
.lk-nav__backdrop { display: none; }
.lk-nav__search { display: none; }
.lk-header__login { padding: 9px 18px; font-size: .9rem; white-space: nowrap; flex: 0 0 auto; }
.lk-header__actions { display: flex; align-items: center; gap: 6px; margin-left: auto; flex: 0 0 auto; }

.lk-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0; border-radius: var(--lk-radius-sm);
	background: #fff; color: var(--lk-ink);
	box-shadow: inset 0 0 0 1.5px var(--lk-border);
}
.lk-icon-btn:hover { background: var(--lk-mist); color: var(--lk-primary); box-shadow: inset 0 0 0 1.5px var(--lk-tint); }

.lk-search-panel {
	max-height: 0; overflow: hidden; border-top: 1px solid transparent;
	transition: max-height .2s ease, border-color .2s ease;
}
.lk-search-panel:not([hidden]) { max-height: 90px; border-top-color: var(--lk-border); }
.lk-search-panel .lk-container { padding-top: 14px; padding-bottom: 14px; }

/* Hamburger: three animating bars instead of a text glyph */
.lk-menu-toggle {
	display: none; background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--lk-border);
	width: 42px; height: 40px; padding: 0; border-radius: var(--lk-radius-sm);
	position: relative;
}
.lk-menu-toggle__bars {
	position: absolute; left: 11px; right: 11px; top: 50%; margin-top: -1px;
	height: 2px; background: var(--lk-ink); border-radius: 2px;
	transition: background .15s ease;
}
.lk-menu-toggle__bars::before, .lk-menu-toggle__bars::after {
	content: ''; position: absolute; left: 0; right: 0; height: 2px;
	background: var(--lk-ink); border-radius: 2px;
	transition: transform .2s ease;
}
.lk-menu-toggle__bars::before { top: -7px; }
.lk-menu-toggle__bars::after { top: 7px; }
.lk-menu-toggle[aria-expanded="true"] .lk-menu-toggle__bars { background: transparent; }
.lk-menu-toggle[aria-expanded="true"] .lk-menu-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.lk-menu-toggle[aria-expanded="true"] .lk-menu-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Profile chip (opens the full-screen account switcher) ---------- */
.lk-profile { position: relative; }
.lk-profile__trigger {
	display: flex; align-items: center; gap: 8px;
	background: #fff; border-radius: 999px; padding: 5px 14px 5px 5px;
	box-shadow: inset 0 0 0 1.5px var(--lk-border);
	color: var(--lk-ink); font-weight: 600; font-size: .92rem;
	transition: background .15s ease, box-shadow .15s ease, color .15s ease;
}
/* Fixed: hovering used to fall back to a near-white background with no
   border change, which visually merged into the page and hid the name.
   The hover state now always pairs a tinted background with a visible
   ring and the primary brand color, so the chip stays legible at every
   step regardless of what's behind it. */
.lk-profile__trigger:hover,
.lk-profile__trigger:focus-visible {
	background: var(--lk-tint);
	color: var(--lk-primary-dark);
	box-shadow: inset 0 0 0 1.5px var(--lk-primary);
}
.lk-profile__trigger[aria-expanded="true"] {
	background: var(--lk-tint); color: var(--lk-primary-dark);
	box-shadow: inset 0 0 0 1.5px var(--lk-primary);
}
.lk-profile__avatar {
	width: 30px; height: 30px; border-radius: 50%; object-fit: cover; background: var(--lk-tint);
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--lk-border);
}
.lk-profile__name { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Account switcher: full-screen modal ---------- */
.lk-account-modal { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 20px; }
.lk-account-modal[hidden] { display: none; }
.lk-account-modal__backdrop {
	position: absolute; inset: 0;
	background: linear-gradient(160deg, rgba(10, 20, 48, .58), rgba(14, 27, 61, .72));
	backdrop-filter: blur(10px) saturate(130%);
	-webkit-backdrop-filter: blur(10px) saturate(130%);
	opacity: 0; transition: opacity .25s ease;
}
.lk-account-modal.is-open .lk-account-modal__backdrop { opacity: 1; }
.lk-account-modal__panel {
	position: relative; width: min(420px, 100%);
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 22px;
	box-shadow: 0 30px 80px rgba(9, 17, 41, .35), 0 2px 0 rgba(255,255,255,.6) inset;
	padding: 34px 28px 26px;
	transform: translateY(18px) scale(.97); opacity: 0;
	transition: transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease;
}
.lk-account-modal.is-open .lk-account-modal__panel { transform: none; opacity: 1; }
.lk-account-modal__close {
	position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; padding: 0;
	border-radius: 50%; background: var(--lk-mist); color: var(--lk-ink); font-size: .9rem;
	box-shadow: none; transition: background .15s ease, color .15s ease, transform .15s ease;
}
.lk-account-modal__close:hover { background: var(--lk-tint); color: var(--lk-primary-dark); transform: rotate(90deg); }
.lk-account-modal__id { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.lk-account-modal__avatar {
	width: 62px; height: 62px; border-radius: 50%; object-fit: cover; flex: 0 0 auto;
	background: var(--lk-tint);
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--lk-tint);
}
.lk-account-modal__id-text { display: flex; flex-direction: column; min-width: 0; }
.lk-account-modal__hi { font-size: .82rem; color: var(--lk-body); font-weight: 600; }
.lk-account-modal__id-text strong { font-size: 1.2rem; color: var(--lk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-account-modal__email { font-size: .84rem; color: var(--lk-body); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-account-modal__options { display: grid; gap: 10px; }
.lk-account-option {
	display: flex; align-items: center; gap: 14px; padding: 15px 16px; border-radius: 16px;
	background: var(--lk-mist); color: var(--lk-ink);
	box-shadow: inset 0 0 0 1.5px var(--lk-border);
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.lk-account-option:hover, .lk-account-option:focus-visible {
	background: linear-gradient(120deg, var(--lk-primary), var(--lk-primary-dark));
	color: #fff; box-shadow: none; transform: translateY(-2px);
}
.lk-account-option__icon {
	display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
	width: 44px; height: 44px; border-radius: 12px;
	background: var(--lk-tint); color: var(--lk-primary);
	transition: background .18s ease, color .18s ease;
}
.lk-account-option:hover .lk-account-option__icon, .lk-account-option:focus-visible .lk-account-option__icon {
	background: rgba(255,255,255,.2); color: #fff;
}
.lk-account-option__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.lk-account-option__text b { font-size: .98rem; }
.lk-account-option__text small { font-size: .8rem; color: var(--lk-body); }
.lk-account-option:hover .lk-account-option__text small, .lk-account-option:focus-visible .lk-account-option__text small { color: rgba(255,255,255,.85); }
.lk-account-option__arrow { flex: 0 0 auto; color: var(--lk-body); transition: transform .18s ease, color .18s ease; }
.lk-account-option:hover .lk-account-option__arrow, .lk-account-option:focus-visible .lk-account-option__arrow { color: #fff; transform: translateX(3px); }
.lk-account-option--danger .lk-account-option__icon { background: #fdecec; color: #b91c1c; }
.lk-account-option--danger:hover, .lk-account-option--danger:focus-visible {
	background: linear-gradient(120deg, #dc2626, #b91c1c); color: #fff;
}
@media (max-width: 480px) {
	.lk-account-modal { padding: 14px; }
	.lk-account-modal__panel { padding: 28px 20px 22px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.lk-account-modal__backdrop, .lk-account-modal__panel, .lk-account-option, .lk-account-option__arrow { transition: none; }
}

/* Between the mobile drawer breakpoint and the point where .lk-container
   hits its own max-width cap, the container is exactly as wide as the
   viewport — the tightest-fitting zone for the header row. Older versions
   of this theme hid the site name and the logged-in user's name entirely
   here, which meant many ordinary desktop/laptop widths (not just odd
   "request desktop site" viewports) never showed proper branding or
   account info. Trim spacing and font-size gently instead, and only fall
   back to hiding the profile name — never the site name — if things are
   still tight right at the low end of this range. */
@media (min-width: 941px) and (max-width: 1239px) {
	.lk-nav a { padding: 9px 10px; font-size: .88rem; }
	.lk-header__login { padding: 9px 14px; font-size: .85rem; }
	.lk-header__inner { gap: 8px; }
	.lk-nav ul { gap: 0; }
}
@media (min-width: 941px) and (max-width: 1080px) {
	.lk-profile__name { display: none; }
}

@media (max-width: 940px) {
	/* Prevent the off-canvas drawer from creating sideways scroll / zoomed-out layout. */
	html, body { overflow-x: clip; }

	/* backdrop-filter creates a containing block for position:fixed descendants,
	   which trapped the drawer inside the header. Disable it on mobile. */
	.lk-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255, 255, 255, .97); }

	.lk-menu-toggle { display: inline-block; }
	.lk-profile__name { display: none; }
	#lk-search-toggle, .lk-search-panel { display: none; } /* search lives in the drawer on mobile */

	.lk-header__login { padding: 9px 16px; font-size: .9rem; }

	.lk-nav__backdrop {
		display: block; position: fixed; inset: 0; z-index: 98;
		background: rgba(14, 27, 61, .45); opacity: 0; visibility: hidden;
		transition: opacity .2s ease, visibility .2s;
	}
	.lk-nav__backdrop.is-open { opacity: 1; visibility: visible; }

	.lk-nav {
		position: fixed; inset: 0 0 0 auto; margin: 0; z-index: 99;
		width: min(320px, 84vw); background: #fff;
		box-shadow: -10px 0 40px rgba(14,27,61,.25);
		padding: 18px 18px 24px; overflow-y: auto;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .25s ease, visibility .25s;
		flex-direction: column; align-items: stretch;
	}
	.lk-nav.is-open { transform: translateX(0); visibility: visible; }
	.lk-nav__drawer-close {
		display: flex; align-items: center; justify-content: center;
		width: 36px; height: 36px; margin-left: auto; margin-bottom: 10px;
		background: var(--lk-mist); border-radius: 9px; color: var(--lk-ink); font-size: 1rem;
	}
	.lk-nav ul { flex-direction: column; gap: 2px; align-items: stretch; }
	.lk-nav a { padding: 12px 14px; font-size: 1.05rem; }
	.lk-nav ul ul { position: static; display: flex; border: 0; box-shadow: none; padding: 0 0 0 16px; }

	.lk-nav__search { display: block; margin: 2px 0 14px; }
	.lk-nav__search .lk-searchform { gap: 6px; }
	.lk-nav__search input[type="search"] { width: 100%; min-width: 0; }
	.lk-nav__search .lk-searchform button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; }
	.lk-nav__search .lk-searchform__label { display: none; }

	.lk-nav__auth {
		display: flex; gap: 8px; margin-top: 14px; padding-top: 14px;
		border-top: 1px solid var(--lk-border);
	}
	.lk-nav__auth a {
		flex: 1; text-align: center; padding: 11px 12px; border-radius: var(--lk-radius-sm);
		font-weight: 600; box-shadow: inset 0 0 0 1.5px var(--lk-border);
	}
	.lk-nav__auth a.is-primary {
		background: var(--lk-primary); color: #fff;
		box-shadow: none;
	}
}


/* ---------- Hero (front page) ---------- */
.lk-hero {
	background:
		radial-gradient(900px 420px at 85% -10%, var(--lk-tint), transparent 65%),
		radial-gradient(700px 360px at 8% 10%, rgba(245, 166, 35, .12), transparent 60%),
		linear-gradient(180deg, var(--lk-mist), var(--lk-bg) 85%);
	padding: 72px 0 56px; text-align: center;
}
.lk-hero__eyebrow {
	display: inline-block; background: #fff; border: 1px solid var(--lk-border);
	color: var(--lk-primary); font-weight: 700; font-size: .85rem;
	padding: 6px 14px; border-radius: 999px; margin-bottom: 18px;
	box-shadow: var(--lk-shadow-sm);
}
.lk-hero h1 { max-width: 760px; margin-inline: auto; }
.lk-hero p.lk-hero__sub { max-width: 620px; margin: 14px auto 28px; font-size: 1.1rem; }
.lk-hero__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Decorative key row under the hero */
.lk-keyrow { display: flex; gap: 8px; justify-content: center; margin-top: 44px; flex-wrap: wrap; }
.lk-keyrow span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 46px; height: 46px; padding: 0 10px; border-radius: var(--lk-radius-sm);
	background: #fff; border: 1px solid var(--lk-border); color: var(--lk-ink);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-weight: 600; box-shadow: var(--lk-shadow-sm);
}
.lk-keyrow span.is-blue { background: var(--lk-primary); color: #fff; border-color: var(--lk-primary); }

/* ---------- Hero trust badges ---------- */
.lk-trustbar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 26px; }
.lk-trustbar span {
	display: inline-flex; align-items: center; gap: 6px;
	background: #fff; border: 1px solid var(--lk-border); border-radius: 999px;
	padding: 7px 14px; font-size: .85rem; font-weight: 600; color: var(--lk-ink);
	box-shadow: var(--lk-shadow-sm);
}
.lk-trustbar span::before { content: '✓'; color: #15803d; font-weight: 800; }

/* ---------- Why choose us: feature highlights ---------- */
.lk-feature { text-align: left; }
.lk-feature .lk-card__icon { background: var(--lk-gradient-brand); }
.lk-feature h3 { font-size: 1.1rem; }
.lk-feature p { color: var(--lk-body); }

/* ---------- How it works: numbered step flow ---------- */
.lk-steps {
	display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr);
	counter-reset: lk-step; position: relative;
}
.lk-steps::before {
	content: ''; position: absolute; top: 27px; left: calc(100% / 6); right: calc(100% / 6);
	height: 2px; background: linear-gradient(90deg, var(--lk-tint), var(--lk-primary), var(--lk-tint));
	z-index: 0;
}
.lk-step { position: relative; z-index: 1; text-align: center; padding: 0 12px; }
.lk-step__num {
	counter-increment: lk-step;
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 50%; margin: 0 auto 16px;
	background: var(--lk-gradient-brand); color: #fff; font-weight: 800; font-size: 1.2rem;
	box-shadow: 0 8px 20px rgba(36, 86, 228, .3);
}
.lk-step__num::before { content: counter(lk-step); }
.lk-step h3 { margin-bottom: 6px; }
.lk-step p { font-size: .95rem; margin: 0; }
@media (max-width: 760px) {
	.lk-steps { grid-template-columns: 1fr; gap: 34px; }
	.lk-steps::before { display: none; }
}

/* ---------- Homepage introduction ---------- */
.lk-intro { padding-top: 8px; }
.lk-intro__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.lk-intro__inner h2 { margin-bottom: 6px; }
.lk-intro__lead { color: var(--lk-primary); font-weight: 700; font-size: 1.05rem; margin: 0 0 16px; }
.lk-intro__text { font-size: 1.05rem; color: var(--lk-body); }

/* ---------- Sections / cards ---------- */
.lk-section { padding: 56px 0; }
.lk-section--mist { background: var(--lk-mist); }
.lk-section__head { text-align: center; max-width: 640px; margin: 0 auto 34px; }
.lk-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.lk-card {
	background: #fff; border: 1px solid var(--lk-border); border-radius: var(--lk-radius);
	padding: 26px 24px; box-shadow: var(--lk-shadow);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lk-card:hover { transform: translateY(-4px); box-shadow: var(--lk-shadow-lg); border-color: var(--lk-tint); }
.lk-card__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 12px; margin-bottom: 14px;
	background: var(--lk-gradient-brand); color: #fff; font-size: 1.35rem;
	box-shadow: 0 6px 16px rgba(36, 86, 228, .25);
}
.lk-card h3 { margin-bottom: .35em; }
.lk-card p { margin: 0; font-size: .97rem; }

/* ---------- Content / posts ---------- */
.lk-main { padding: 44px 0 64px; }
.home .lk-main { padding-top: 0; }
.lk-page-title { margin-bottom: 26px; }
.lk-entry { max-width: 780px; margin: 0 auto; }
.lk-entry .lk-entry__meta { color: var(--lk-body); font-size: .9rem; margin-bottom: 18px; }
.lk-entry img { border-radius: var(--lk-radius); }
.lk-entry h2, .lk-entry h3 { margin-top: 1.4em; }
.lk-entry blockquote {
	margin: 1.4em 0; padding: 14px 20px; background: var(--lk-mist);
	border-left: 4px solid var(--lk-primary); border-radius: 0 10px 10px 0;
}
.lk-entry pre { background: var(--lk-ink); color: #dbe6ff; padding: 18px; border-radius: 12px; overflow-x: auto; }
.lk-entry table { border-collapse: collapse; width: 100%; }
.lk-entry th, .lk-entry td { border: 1px solid var(--lk-border); padding: 10px 12px; text-align: left; }
.lk-entry th { background: var(--lk-mist); }
.alignwide { max-width: min(1000px, 94vw); margin-inline: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }

/* Post list (blog/archive/search) */
.lk-postgrid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.lk-postcard { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.lk-postcard a.lk-postcard__thumb { display: block; aspect-ratio: 16/9; background: var(--lk-tint); }
.lk-postcard img { width: 100%; height: 100%; object-fit: cover; }
.lk-postcard__body { padding: 20px 22px 22px; }
.lk-postcard__meta { font-size: .82rem; color: var(--lk-body); margin-bottom: 6px; }
.lk-postcard h2 { font-size: 1.15rem; margin: 0 0 8px; }
.lk-postcard h2 a { color: var(--lk-ink); }
.lk-postcard h2 a:hover { color: var(--lk-primary); }
.lk-postcard p { margin: 0; font-size: .93rem; }

.lk-pagination { margin-top: 34px; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.lk-pagination .page-numbers {
	display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center;
	padding: 0 12px; border-radius: var(--lk-radius-sm); background: #fff; border: 1px solid var(--lk-border);
	color: var(--lk-ink); font-weight: 600; box-shadow: none;
}
.lk-pagination .page-numbers.current { background: var(--lk-primary); color: #fff; border-color: var(--lk-primary); }

/* ---------- Comments & forms ---------- */
.lk-comments { max-width: 780px; margin: 44px auto 0; }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { background: var(--lk-mist); border-radius: var(--lk-radius); padding: 18px 20px; margin-bottom: 14px; }
.comment-list .children { list-style: none; padding-left: 22px; }
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], textarea {
	width: 100%; padding: 12px 14px; border: 2px solid var(--lk-border); border-radius: 10px;
	font: inherit; color: var(--lk-ink); background: #fff;
}
input:focus, textarea:focus { border-color: var(--lk-primary); outline: none; }
.lk-searchform { display: flex; gap: 8px; }
.lk-searchform input[type="search"] { flex: 1; }
.lk-searchform button { display: inline-flex; align-items: center; gap: 6px; }

.lk-nav__auth { display: flex; align-items: center; gap: 6px; margin-left: 6px; }
.lk-nav__auth a.is-primary { background: var(--lk-primary); color: #fff; }
.lk-nav__auth a.is-primary:hover { background: var(--lk-primary-dark); color: #fff; }

/* ---------- 404 ---------- */
.lk-404 { text-align: center; padding: 80px 0; }
.lk-404 .lk-keyrow { margin: 26px 0 30px; }

/* ---------- Footer ---------- */
.lk-footer { background: var(--lk-ink); color: #c7d3f2; margin-top: auto; }
.lk-footer a { color: #fff; }
.lk-footer a:hover { color: var(--lk-tint); }
.lk-footer__top { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding: 48px 0 34px; }
.lk-footer h4 { color: #fff; font-size: 1rem; margin-bottom: 12px; }
.lk-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .95rem; }
.lk-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 18px 0; font-size: .88rem; display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; }

.lk-footer__logo { margin-bottom: 14px; }
.lk-footer__logo img { max-height: 38px; width: auto; filter: brightness(0) invert(1); opacity: .92; }
.lk-footer__social { display: flex; gap: 10px; margin-top: 16px; }
.lk-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 10px;
	background: rgba(255,255,255,.08); color: #fff;
}
.lk-footer__social a:hover { background: var(--lk-primary); color: #fff; }

/* ---------- Back to top ---------- */
.lk-to-top {
	position: fixed; right: 20px; bottom: 20px; z-index: 80;
	width: 46px; height: 46px; padding: 0; border-radius: var(--lk-radius-sm);
	background: var(--lk-primary); color: #fff;
	box-shadow: var(--lk-shadow-sm);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s, background .12s ease;
}
.lk-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.lk-to-top:hover { background: var(--lk-primary-dark); }

/* ---------- App template: give the typing tutor the full stage ---------- */
.lk-template-app .lk-main { padding: 20px 0 40px; }
.lk-template-app .lk-entry { max-width: none; }

/* Page layout helper so footer sticks down on short pages */
.lk-site { min-height: 100vh; display: flex; flex-direction: column; }

/* ---------- Tutor intro ---------- */
.lk-tutor { display: grid; gap: 40px; grid-template-columns: 320px 1fr; align-items: center; }
.lk-tutor__photo {
	position: relative; aspect-ratio: 1; border-radius: 24px; overflow: hidden;
	background: linear-gradient(145deg, var(--lk-tint), var(--lk-mist));
	border: 1px solid var(--lk-border); box-shadow: var(--lk-shadow);
	display: flex; align-items: center; justify-content: center;
}
.lk-tutor__photo img { width: 100%; height: 100%; object-fit: cover; }
.lk-tutor__initial { font-size: 5rem; font-weight: 800; color: var(--lk-primary); }
.lk-tutor__badge {
	position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
	background: var(--lk-primary); color: #fff; font-weight: 600; font-size: .82rem;
	padding: 7px 16px; border-radius: 999px; white-space: nowrap;
	box-shadow: var(--lk-shadow-sm);
}
.lk-tutor__eyebrow { color: var(--lk-primary); font-weight: 800; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.lk-tutor h2 { margin-bottom: .3em; }
.lk-tutor__role { font-weight: 700; color: var(--lk-ink); margin: 0 0 14px; }
.lk-tutor__points { list-style: none; margin: 18px 0 24px; padding: 0; display: grid; gap: 10px; }
.lk-tutor__points li { display: flex; gap: 10px; align-items: flex-start; }
.lk-tutor__points .tick {
	flex: 0 0 auto; width: 24px; height: 24px; border-radius: 7px; margin-top: 2px;
	background: var(--lk-tint); color: var(--lk-primary); font-weight: 800;
	display: inline-flex; align-items: center; justify-content: center; font-size: .8rem;
}
@media (max-width: 820px) {
	.lk-tutor { grid-template-columns: 1fr; gap: 26px; }
	.lk-tutor__photo { max-width: 300px; margin: 0 auto; }
	.lk-tutor > div:last-child { text-align: center; }
	.lk-tutor__points li { text-align: left; }
}

/* ---------- Stats strip ---------- */
.lk-stats { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 34px; }
.lk-stat {
	background: #fff; border: 1px solid var(--lk-border); border-radius: var(--lk-radius);
	padding: 20px; text-align: center; box-shadow: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lk-stat:hover { transform: translateY(-3px); box-shadow: var(--lk-shadow); border-color: var(--lk-tint); }
.lk-stat b {
	display: block; font-size: 1.7rem; font-weight: 700; letter-spacing: -.01em;
	background: var(--lk-gradient-brand); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: var(--lk-primary);
}
.lk-stat span { font-size: .88rem; }

/* ---------- Course cards ---------- */
.lk-course { position: relative; }
.lk-course__tag {
	position: absolute; top: 18px; right: 18px; font-size: .72rem; font-weight: 800;
	background: var(--lk-tint); color: var(--lk-primary); padding: 4px 10px; border-radius: 999px;
	text-transform: uppercase; letter-spacing: .05em;
}
.lk-course ul { margin: 10px 0 0; padding-left: 18px; font-size: .93rem; }
.lk-course ul li { margin-bottom: 4px; }

/* ---------- Online classes band ---------- */
.lk-band {
	background: linear-gradient(120deg, var(--lk-primary), var(--lk-primary-dark));
	border-radius: 20px; color: #fff; padding: 40px 34px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	box-shadow: var(--lk-shadow);
}
.lk-band h2, .lk-band p { color: #fff; margin: 0; }
.lk-band p { opacity: .92; margin-top: 6px; }
.lk-band .lk-btn { background: #fff; color: var(--lk-primary); box-shadow: none; }
.lk-band .lk-btn:hover { background: var(--lk-mist); color: var(--lk-primary-dark); }

/* ---------- Reviews ---------- */
.lk-stars { color: #f5a623; letter-spacing: 2px; font-size: .95rem; }
.lk-review { display: flex; flex-direction: column; gap: 10px; }
.lk-review__text { margin: 0; font-size: .95rem; flex: 1; }
.lk-review__who { display: flex; align-items: center; gap: 10px; }
.lk-review__avatar {
	width: 40px; height: 40px; border-radius: 50%; flex: 0 0 auto;
	background: var(--lk-tint); color: var(--lk-primary); font-weight: 800;
	display: inline-flex; align-items: center; justify-content: center;
}
.lk-review__who b { color: var(--lk-ink); display: block; line-height: 1.2; }
.lk-review__who small { color: var(--lk-body); font-size: .8rem; }

/* ---------- Instructor profile page ---------- */
.lk-profile-hero { background: linear-gradient(180deg, var(--lk-mist), var(--lk-bg)); padding: 56px 0 40px; }
.lk-profile-hero .lk-tutor__photo { max-width: 280px; }
.lk-chiprow { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 0; }
.lk-chip {
	background: #fff; border: 1px solid var(--lk-border); border-radius: 999px;
	padding: 7px 15px; font-size: .87rem; font-weight: 600; color: var(--lk-ink);
	box-shadow: none;
}
.lk-chip--blue { background: var(--lk-primary); border-color: var(--lk-primary); color: #fff; }
.lk-profile-cols { display: grid; gap: 22px; grid-template-columns: 2fr 1fr; align-items: start; }
@media (max-width: 820px) { .lk-profile-cols { grid-template-columns: 1fr; } }
.lk-profile-cols .lk-card h3 { display: flex; align-items: center; gap: 8px; }
.lk-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lk-timeline li { padding-left: 20px; border-left: 3px solid var(--lk-tint); }
.lk-timeline b { color: var(--lk-ink); display: block; }

/* ---------- Overall rating badge ---------- */
.lk-rating-badge {
	display: inline-flex; align-items: center; gap: 12px; margin-top: 14px;
	background: #fff; border: 1px solid var(--lk-border); border-radius: 999px;
	padding: 10px 22px; box-shadow: none;
}
.lk-rating-badge b { font-size: 1.5rem; color: var(--lk-ink); letter-spacing: -.01em; }
.lk-rating-badge small { color: var(--lk-body); font-size: .85rem; }

/* ---------- Auto-moving review carousel ---------- */
.lk-carousel { overflow: hidden; position: relative; padding: 6px 0 10px; }
.lk-carousel__track { display: flex; gap: 20px; width: max-content; will-change: transform; }
.lk-carousel .lk-review { width: 320px; flex: 0 0 auto; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.lk-carousel .lk-review:hover, .lk-carousel .lk-review:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(20,45,120,.14); }
@media (max-width: 480px) { .lk-carousel .lk-review { width: 270px; } }
.lk-review__avatar--img { object-fit: cover; }

/* ---------- Review popup ---------- */
.lk-modal {
	position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center;
	padding: 20px; background: rgba(14, 27, 61, .45); backdrop-filter: blur(2px);
	opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s;
}
.lk-modal.is-open { opacity: 1; visibility: visible; }
.lk-modal__box {
	background: #fff; border-radius: var(--lk-radius); max-width: 480px; width: 100%;
	padding: 30px 28px; position: relative; box-shadow: 0 16px 40px rgba(14,27,61,.18);
	transform: translateY(8px); transition: transform .18s ease;
	max-height: 85vh; overflow-y: auto;
}
.lk-modal.is-open .lk-modal__box { transform: none; }
.lk-modal__close {
	position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; padding: 0;
	border-radius: 50%; background: var(--lk-mist); color: var(--lk-ink); font-size: 1rem;
	box-shadow: none; transition: background .15s ease, color .15s ease;
}
.lk-modal__close:hover { background: var(--lk-tint); color: var(--lk-primary-dark); }
.lk-modal__head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.lk-modal__avatar {
	width: 62px; height: 62px; border-radius: 50%; flex: 0 0 auto; object-fit: cover;
	background: var(--lk-tint); color: var(--lk-primary); font-weight: 700; font-size: 1.5rem;
	display: inline-flex; align-items: center; justify-content: center;
}
.lk-modal__head b { display: block; color: var(--lk-ink); font-size: 1.1rem; font-weight: 700; }
.lk-modal__head small { color: var(--lk-body); }
.lk-modal__text { font-size: 1.02rem; margin: 10px 0 0; }

/* ---------- Review form ---------- */
.lk-review-form { max-width: 640px; margin: 34px auto 0; }
.lk-review-form label { display: block; font-weight: 700; color: var(--lk-ink); font-size: .92rem; margin-bottom: 12px; }
.lk-review-form input[type="text"], .lk-review-form textarea { margin-top: 6px; font-weight: 400; }
.lk-review-form__grid { display: grid; gap: 0 14px; grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .lk-review-form__grid { grid-template-columns: 1fr; } }
.lk-review-form__note { margin-top: -6px; font-size: .88rem; }
.lk-star-input { display: flex; gap: 4px; margin: 4px 0 14px; }
.lk-star-input__star {
	background: none; border: 0; box-shadow: none; padding: 2px; font-size: 1.9rem; line-height: 1;
	color: var(--lk-border); cursor: pointer; transition: color .1s ease, transform .1s ease;
}
.lk-star-input__star:hover { transform: scale(1.15); background: none; box-shadow: none; }
.lk-star-input__star.is-active { color: #f5a623; }
.lk-review-form__photo input { margin-top: 6px; font-weight: 400; }
.lk-hp { position: absolute !important; left: -9999px; }
.lk-review-form__msg { font-weight: 700; margin: 12px 0 0; }
.lk-review-form__msg.is-ok { color: #15803d; }
.lk-review-form__msg.is-err { color: #b91c1c; }

/* ---------- WhatsApp Channel button (footer) ---------- */
.lk-wa-channel {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 14px; padding: 10px 16px; border-radius: 999px;
	background: #25d366; color: #fff; font-weight: 600; font-size: .92rem;
	box-shadow: none; transition: background .15s ease, transform .15s ease;
}
.lk-wa-channel:hover { background: #1fbf5c; color: #fff; transform: translateY(-1px); }

/* ---------- Popups (Hello Elementor-style: flat, soft, no scale-pop) ---------- */
.lk-popup { position: fixed; z-index: 120; }
.lk-popup[hidden] { display: none; }
.lk-popup__card {
	position: relative; background: #fff; border: 1px solid var(--lk-border);
	border-radius: var(--lk-radius); box-shadow: 0 16px 40px rgba(14, 27, 61, .16);
	opacity: 0; transition: opacity .2s ease, transform .2s ease;
}
.lk-popup__close {
	position: absolute; top: 12px; right: 12px; z-index: 2;
	display: flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 50%; padding: 0;
	background: var(--lk-mist); color: var(--lk-ink); font-size: .85rem;
	transition: background .15s ease, color .15s ease;
}
.lk-popup__close:hover { background: var(--lk-tint); color: var(--lk-primary-dark); }
.lk-popup__image { display: block; width: 100%; max-height: 220px; object-fit: cover; border-radius: calc(var(--lk-radius) - 1px) calc(var(--lk-radius) - 1px) 0 0; }
.lk-popup__body { padding: 26px 26px 28px; }
.lk-popup__title { margin: 0 0 8px; font-size: 1.2rem; font-weight: 700; color: var(--lk-ink); padding-right: 26px; }
.lk-popup__text { margin: 0 0 18px; color: var(--lk-body); font-size: .97rem; }
.lk-popup__btn { display: inline-flex; }

/* Style 1: centered modal with backdrop */
.lk-popup--center { inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.lk-popup--center[hidden] { display: none; }
.lk-popup__backdrop {
	position: absolute; inset: 0;
	background: rgba(14, 27, 61, .45); backdrop-filter: blur(2px);
	opacity: 0; transition: opacity .2s ease;
}
.lk-popup--center .lk-popup__card { width: min(440px, 100%); transform: translateY(8px); }
.lk-popup--center.is-open .lk-popup__backdrop { opacity: 1; }
.lk-popup--center.is-open .lk-popup__card { opacity: 1; transform: none; }

/* Style 2: corner slide-in */
.lk-popup--slide { right: 18px; bottom: 18px; max-width: min(360px, calc(100vw - 36px)); }
.lk-popup--slide .lk-popup__card { transform: translateY(10px); }
.lk-popup--slide.is-open .lk-popup__card { opacity: 1; transform: none; }
.lk-popup--slide .lk-popup__body { padding: 20px 22px 22px; }
.lk-popup--slide .lk-popup__title { font-size: 1.05rem; }
.lk-popup--slide .lk-popup__text { font-size: .92rem; margin-bottom: 14px; }

/* Style 3: bottom bar */
.lk-popup--bar { left: 0; right: 0; bottom: 0; }
.lk-popup--bar .lk-popup__card {
	border-radius: 0; border: 0; border-top: 1px solid var(--lk-border);
	transform: translateY(100%); box-shadow: 0 -8px 30px rgba(14, 27, 61, .1);
}
.lk-popup--bar.is-open .lk-popup__card { opacity: 1; transform: none; }
.lk-popup--bar .lk-popup__body {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	max-width: var(--lk-container); margin: 0 auto; padding: 16px 48px 16px 22px;
}
.lk-popup--bar .lk-popup__title { margin: 0; font-size: 1rem; font-weight: 600; padding-right: 0; }
.lk-popup--bar .lk-popup__text { margin: 0; font-size: .92rem; flex: 1 1 240px; }
.lk-popup--bar .lk-popup__btn { padding: 10px 20px; font-size: .9rem; }
.lk-popup--bar .lk-popup__close { top: 50%; margin-top: -15px; }

@media (max-width: 560px) {
	.lk-popup--slide { left: 12px; right: 12px; bottom: 12px; max-width: none; }
	.lk-popup--bar .lk-popup__body { padding-right: 20px; }
	.lk-popup--bar .lk-popup__close { top: 8px; margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lk-popup__card, .lk-popup__backdrop { transition: none; }
}

/* ---------- Contact page ---------- */
select {
	width: 100%; padding: 12px 14px; border: 2px solid var(--lk-border); border-radius: 10px;
	font: inherit; color: var(--lk-ink); background: #fff;
}
select:focus { border-color: var(--lk-primary); outline: none; }

.lk-contact-grid { display: grid; gap: 28px; grid-template-columns: 1fr 1.1fr; align-items: start; }
@media (max-width: 860px) { .lk-contact-grid { grid-template-columns: 1fr; } }

.lk-contact-card { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.lk-contact-card:last-child { margin-bottom: 0; }
.lk-contact-card .lk-card__icon { margin-bottom: 0; flex-shrink: 0; }
.lk-contact-card h4 { margin: 0 0 4px; color: var(--lk-ink); }
.lk-contact-card p, .lk-contact-card a { margin: 0; color: var(--lk-body); }
.lk-contact-card a { color: var(--lk-primary); font-weight: 600; }

.lk-contact-form label { display: block; font-weight: 700; color: var(--lk-ink); font-size: .92rem; margin-bottom: 14px; }
.lk-contact-form input, .lk-contact-form select, .lk-contact-form textarea { margin-top: 6px; font-weight: 400; }
.lk-contact-form__grid { display: grid; gap: 0 14px; grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .lk-contact-form__grid { grid-template-columns: 1fr; } }
.lk-contact-form__msg { font-weight: 700; margin: 12px 0 0; }
.lk-contact-form__msg.is-ok { color: #15803d; }
.lk-contact-form__msg.is-err { color: #b91c1c; }
