/* ==========================================================================
   Niriksha design system
   Loaded only on pages using the "Niriksha – full design" template.
   Everything is switched on with CSS classes in Elementor:
   Advanced tab > CSS Classes. All classes start with "nk-".
   Settings you change in Elementor's style panels still win over these.
   ========================================================================== */

/* ---------- Tokens ---------- */
body.nk-page {
	--nk-teal: #3A7D8A;
	--nk-teal-d: #2C6470;
	--nk-slate: #7F8AAB;
	--nk-slate-d: #6E77A0;
	--nk-ink: #3D4251;
	--nk-muted: #5C6274;
	--nk-lav: #F7F3FA;
	--nk-lav-2: #EEE6F7;
	--nk-line: #E4DCEE;
	--nk-butter: #FFF4D6;
	--nk-butter-2: #FDEBB5;
	--nk-mint: #E3EFF1;
	--nk-serif: 'Playfair Display', Georgia, serif;
	--nk-sans: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--nk-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--nk-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
	--nk-shadow: 0 1px 2px rgba(50, 45, 80, 0.04), 0 18px 40px -24px rgba(60, 55, 100, 0.30);
	--nk-shadow-hi: 0 1px 2px rgba(50, 45, 80, 0.04), 0 26px 48px -24px rgba(60, 55, 100, 0.38);
	--nk-edge: max(24px, calc((100vw - 1200px) / 2 + 24px));
	/* Elementor boxed containers line up with the header and footer */
	--container-max-width: 1200px;

	margin: 0;
	background: radial-gradient(1100px 600px at 92% -8%, #E8DFF5 0%, rgba(247, 243, 250, 0) 60%),
		radial-gradient(900px 520px at -2% 0%, #FFF2CC 0%, rgba(255, 242, 204, 0) 60%),
		linear-gradient(180deg, #F7F3FA 0%, #FBF7F4 55%, #FFF9EC 100%);
	background-color: var(--nk-lav);
	color: var(--nk-ink);
	font-family: var(--nk-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	accent-color: var(--nk-teal);
	caret-color: var(--nk-teal);
	scrollbar-color: #CFC5E2 var(--nk-lav);
}
body.nk-page ::selection { background: #E2D6F3; color: #2A2E3B; }
body.nk-page :focus-visible { outline: 2px solid var(--nk-teal); outline-offset: 3px; }
body.nk-page a { color: var(--nk-teal); text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.nk-page a:hover { color: var(--nk-teal-d); }
body.nk-page img { max-width: 100%; height: auto; }

body.nk-page .nk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.nk-page .nk-skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: #FFFFFF; padding: 10px 16px; border-radius: 12px; }
body.nk-page .nk-skip:focus { top: 12px; }
body.nk-page .nk-main { display: block; }

/* ---------- Typography ---------- */
body.nk-page h1, body.nk-page h2, body.nk-page h3, body.nk-page h4, body.nk-page .elementor-widget-heading .elementor-heading-title {
	font-family: var(--nk-serif);
	font-weight: 400;
	letter-spacing: -0.005em;
	color: var(--nk-teal);
	margin: 0;
}
body.nk-page h1, body.nk-page .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(44px, 5.6vw, 68px); line-height: 1.06; letter-spacing: -0.02em; }
body.nk-page h2, body.nk-page .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(34px, 4vw, 50px); line-height: 1.08; }
body.nk-page h3, body.nk-page .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(22px, 2.2vw, 26px); line-height: 1.2; color: var(--nk-ink); }
body.nk-page h4, body.nk-page .elementor-widget-heading h4.elementor-heading-title { font-size: 20px; line-height: 1.25; color: var(--nk-ink); }
/* Italic accent word: write <em>word</em> inside a Heading */
body.nk-page h1 em, body.nk-page h2 em, body.nk-page h3 em, body.nk-page .elementor-heading-title em { font-style: italic; color: var(--nk-slate-d); font-weight: 400; }

body.nk-page .elementor-widget-text-editor { color: var(--nk-muted); font-family: var(--nk-sans); }
body.nk-page .elementor-widget-text-editor p { margin: 0 0 0.8em; }
body.nk-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.nk-page .nk-lead, body.nk-page .nk-lead p { font-size: 19px; line-height: 1.65; color: var(--nk-muted); max-width: 34em; }
body.nk-page .nk-small, body.nk-page .nk-small p { font-size: 14.5px; color: var(--nk-muted); }
body.nk-page .nk-label, body.nk-page .nk-label p { font-size: 14px; color: var(--nk-slate-d); }
body.nk-page .nk-note, body.nk-page .nk-note p { font-size: 13.5px; line-height: 1.6; color: var(--nk-muted); }
body.nk-page .nk-note { border-top: 1px solid var(--nk-line); padding-top: 14px; }
body.nk-page .nk-meta p { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14.5px; color: var(--nk-muted); }

/* ---------- Header ---------- */
body.nk-page .nk-topbar {
	position: sticky; top: 0; z-index: 50;
	background: #FFFFFF;
	border-bottom: 1px solid var(--nk-line);
	box-shadow: 0 8px 24px -20px rgba(60, 55, 100, 0.35);
}
body.admin-bar .nk-topbar { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nk-topbar { top: 0; } }
body.nk-page .nk-topbar-inner {
	max-width: 1200px; margin: 0 auto; padding: 12px 24px; box-sizing: border-box;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
body.nk-page .nk-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--nk-ink) !important; }
body.nk-page .nk-brand-logo { max-height: 44px; width: auto; }
body.nk-page .nk-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
body.nk-page .nk-brand-name { font-family: var(--nk-serif); font-size: 24px; }
body.nk-page .nk-brand-tag { font-size: 12.5px; color: var(--nk-muted); letter-spacing: 0.06em; }
body.nk-page .nk-nav-wrap { display: flex; align-items: center; gap: 24px; flex: 1; justify-content: space-between; padding-left: 24px; }
body.nk-page .nk-menu { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; margin: 0; padding: 0; }
body.nk-page .nk-menu a { color: var(--nk-ink) !important; text-decoration: none; font-size: 15px; padding: 12px 6px; display: inline-block; transition: color 200ms ease; }
body.nk-page .nk-menu a:hover { color: var(--nk-teal) !important; }
body.nk-page .nk-menu .current-menu-item > a, body.nk-page .nk-menu .current_page_item > a {
	color: var(--nk-teal) !important; text-decoration: underline; text-underline-offset: 8px;
}
body.nk-page .nk-topbar-actions { display: flex; align-items: center; gap: 10px; }
body.nk-page .nk-phone { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 14px; color: var(--nk-ink) !important; text-decoration: none; font-size: 15px; }
body.nk-page .nk-menu-toggle { display: none; width: 46px; height: 46px; border-radius: 14px; border: 1px solid var(--nk-line); background: #FFFFFF; cursor: pointer; align-items: center; justify-content: center; }
body.nk-page .nk-menu-toggle-bars, body.nk-page .nk-menu-toggle-bars::before, body.nk-page .nk-menu-toggle-bars::after {
	display: block; width: 18px; height: 1.5px; background: var(--nk-ink); border-radius: 2px; position: relative;
	transition: transform 220ms var(--nk-ease-out), opacity 160ms ease;
}
body.nk-page .nk-menu-toggle-bars::before, body.nk-page .nk-menu-toggle-bars::after { content: ''; position: absolute; left: 0; }
body.nk-page .nk-menu-toggle-bars::before { top: -6px; }
body.nk-page .nk-menu-toggle-bars::after { top: 6px; }
body.nk-page .nk-menu-toggle[aria-expanded="true"] .nk-menu-toggle-bars { background: transparent; }
body.nk-page .nk-menu-toggle[aria-expanded="true"] .nk-menu-toggle-bars::before { transform: translateY(6px) rotate(45deg); }
body.nk-page .nk-menu-toggle[aria-expanded="true"] .nk-menu-toggle-bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1024px) {
	body.nk-page .nk-menu-toggle { display: inline-flex; }
	body.nk-page .nk-nav-wrap {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 24px 24px;
		background: #FFFFFF; border-bottom: 1px solid var(--nk-line);
		box-shadow: 0 24px 40px -28px rgba(60, 55, 100, 0.45);
		opacity: 0; transform: translateY(-8px); pointer-events: none; visibility: hidden;
		transition: opacity 200ms var(--nk-ease-out), transform 200ms var(--nk-ease-out), visibility 0s linear 200ms;
	}
	body.nk-page .nk-topbar.is-open .nk-nav-wrap {
		opacity: 1; transform: translateY(0); pointer-events: auto; visibility: visible;
		transition: opacity 200ms var(--nk-ease-out), transform 200ms var(--nk-ease-out), visibility 0s;
	}
	body.nk-page .nk-menu { flex-direction: column; gap: 0; }
	body.nk-page .nk-menu a { display: block; padding: 14px 4px; font-size: 17px; border-bottom: 1px solid var(--nk-line); }
	body.nk-page .nk-topbar-actions { flex-wrap: wrap; padding-top: 8px; }
}

/* ---------- Buttons ---------- */
body.nk-page .nk-button, body.nk-page .nk-btn .elementor-button, body.nk-page .nk-btn-soft .elementor-button, body.nk-page .nk-form .wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 50px; padding: 0 26px; border-radius: 999px; box-sizing: border-box;
	font-family: var(--nk-sans); font-weight: 400; font-size: 16px; letter-spacing: 0.01em; line-height: 1.2;
	text-decoration: none !important; border: 0; cursor: pointer;
	transition: transform 160ms var(--nk-ease-out), background-color 200ms ease, color 200ms ease, box-shadow 200ms ease;
}
body.nk-page .nk-button-primary, body.nk-page .nk-btn .elementor-button, body.nk-page .nk-form .wpcf7-submit {
	background: var(--nk-teal); color: #FFFFFF !important;
	box-shadow: 0 10px 22px -12px rgba(58, 125, 138, 0.9);
}
body.nk-page .nk-button-primary:hover, body.nk-page .nk-btn .elementor-button:hover, body.nk-page .nk-form .wpcf7-submit:hover { background: var(--nk-teal-d); color: #FFFFFF !important; }
body.nk-page .nk-btn-soft .elementor-button {
	background: var(--nk-butter); color: var(--nk-teal-d) !important;
	border: 1px solid rgba(58, 125, 138, 0.45);
}
body.nk-page .nk-btn-soft .elementor-button:hover { background: var(--nk-butter-2); }
body.nk-page .nk-button:active, body.nk-page .nk-btn .elementor-button:active, body.nk-page .nk-btn-soft .elementor-button:active, body.nk-page .nk-form .wpcf7-submit:active { transform: scale(0.97); }
body.nk-page .nk-topbar .nk-button { min-height: 46px; }

/* ---------- Sections & surfaces ---------- */
body.nk-page .nk-section { --padding-top: clamp(64px, 8vw, 104px); --padding-bottom: clamp(64px, 8vw, 104px); --padding-left: 24px; --padding-right: 24px; }
body.nk-page .nk-band-y { background: linear-gradient(180deg, #FFF8E6 0%, #FFF2D2 100%); }
body.nk-page .nk-band-l { background: linear-gradient(180deg, #F2ECF9 0%, #ECE4F6 100%); }
body.nk-page .nk-band-mix { background: linear-gradient(120deg, #F2ECF9 0%, #FBF7FD 55%, #FFF4D6 100%); }

body.nk-page .nk-card {
	background: #FFFFFF;
	border-radius: 24px;
	border: 1px solid rgba(127, 138, 171, 0.16);
	box-shadow: var(--nk-shadow);
	--padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px;
}
body.nk-page .nk-card.nk-band-mix, body.nk-page .nk-card.nk-band-y, body.nk-page .nk-card.nk-band-l { border-radius: 32px; }
body.nk-page .nk-card-lg { border-radius: 32px; --padding-top: 48px; --padding-right: 48px; --padding-bottom: 48px; --padding-left: 48px; }
@media (max-width: 767px) { body.nk-page .nk-card-lg { --padding-top: 28px; --padding-right: 24px; --padding-bottom: 28px; --padding-left: 24px; } }
body.nk-page .nk-panel { background: linear-gradient(160deg, #FFF8E6 0%, #F4EEFA 100%); }

/* ---------- Pills ---------- */
body.nk-page .nk-pill { display: inline-flex; align-items: center; font-size: 13px; line-height: 1.2; padding: 6px 12px; border-radius: 999px; background: var(--nk-mint); color: var(--nk-teal-d); }
body.nk-page .nk-pill-butter { background: var(--nk-butter); color: var(--nk-ink); }
body.nk-page .nk-pill-sample { background: var(--nk-butter); color: #8A6A1F; font-size: 12px; }
body.nk-page .nk-pills { display: flex; flex-wrap: wrap; gap: 8px; }
body.nk-page .nk-stars { color: #E9B949; letter-spacing: 2px; font-size: 16px; }

/* ---------- Photos (Image widget) ---------- */
body.nk-page .nk-photo img, body.nk-page .nk-photo .wp-caption img {
	display: block; width: 100%; border-radius: 22px; object-fit: cover;
	box-shadow: var(--nk-shadow); border: 1px solid rgba(127, 138, 171, 0.16);
}
body.nk-page .nk-photo { overflow: visible; }
body.nk-page .nk-r-45 img { aspect-ratio: 4 / 5; }
body.nk-page .nk-r-54 img { aspect-ratio: 5 / 4; }
body.nk-page .nk-r-43 img { aspect-ratio: 4 / 3; }
body.nk-page .nk-r-11 img { aspect-ratio: 1 / 1; }
body.nk-page .nk-r-169 img { aspect-ratio: 16 / 10; }
body.nk-page .nk-zoom img { transition: transform 600ms var(--nk-ease-out), box-shadow 300ms ease; }
body.nk-page .nk-photo-placeholder img, body.nk-page .nk-ph {
	background: linear-gradient(140deg, #F1EBF8, #E2DAF0);
}
body.nk-page .nk-ph { display: flex; align-items: center; justify-content: center; text-align: center; color: var(--nk-muted); font-size: 14px; border-radius: 20px; min-height: 220px; padding: 16px; box-sizing: border-box; }

/* Image that fills its column (hero) */
body.nk-page .nk-cover { align-self: stretch; }
body.nk-page .nk-cover { height: auto; }
body.nk-page .nk-cover { position: relative; overflow: hidden; }
body.nk-page .nk-cover img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; display: block; border-radius: 0; box-shadow: none; border: 0; }

/* ---------- Hero ---------- */
body.nk-page .nk-hero {
	background: linear-gradient(115deg, #FFF7DF 0%, #FCF5F7 44%, #ECE4F6 100%);
	overflow: hidden;
	min-height: 640px;
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px;
}
body.nk-page .nk-hero-sm { min-height: 480px; }
body.nk-page .nk-hero > .elementor-element, body.nk-page .nk-hero > .e-con-inner > .elementor-element { flex: 1 1 50%; min-width: 0; }
body.nk-page .nk-hero .nk-cover { min-height: 640px; }
body.nk-page .nk-hero-sm .nk-cover { min-height: 480px; }
body.nk-page .nk-hero-copy {
	justify-content: center;
	--padding-top: 80px; --padding-right: 56px; --padding-bottom: 136px; --padding-left: var(--nk-edge);
	--gap: 26px;
}
body.nk-page .nk-hero-sm .nk-hero-copy { --padding-bottom: 80px; --gap: 22px; }
@media (max-width: 1024px) {
	body.nk-page .nk-hero, body.nk-page .nk-hero-sm { min-height: 0; }
	body.nk-page .nk-hero .nk-cover { min-height: 340px; }
	body.nk-page .nk-hero-copy { --padding-top: 56px; --padding-right: 24px; --padding-bottom: 96px; --padding-left: 24px; }
	body.nk-page .nk-hero-sm .nk-hero-copy { --padding-bottom: 48px; }
}

/* Service strip overlapping the hero */
body.nk-page .nk-strip { position: relative; z-index: 2; margin-top: -58px; }
body.nk-page .nk-strip > .e-con-inner, body.nk-page .nk-strip.e-con-full {
	background: #FFFFFF; border-radius: 22px; overflow: hidden;
	border: 1px solid rgba(127, 138, 171, 0.16); box-shadow: var(--nk-shadow);
}
body.nk-page .nk-strip .elementor-widget-icon-box { padding: 22px 24px; border-left: 1px solid var(--nk-line); flex: 1 1 0; min-width: 0; transition: background-color 200ms ease; }
body.nk-page .nk-strip .elementor-widget-icon-box:first-child { border-left: 0; }
@media (max-width: 1024px) {
	body.nk-page .nk-strip .elementor-widget-icon-box { flex: 1 1 50%; border-top: 1px solid var(--nk-line); }
	body.nk-page .nk-strip .elementor-widget-icon-box:nth-child(-n+2) { border-top: 0; }
	body.nk-page .nk-strip .elementor-widget-icon-box:nth-child(3) { border-left: 0; }
}
@media (max-width: 600px) {
	body.nk-page .nk-strip .elementor-widget-icon-box { flex: 1 1 100%; border-left: 0; }
	body.nk-page .nk-strip .elementor-widget-icon-box:nth-child(2) { border-top: 1px solid var(--nk-line); }
}

/* ---------- Icon boxes / icon lists ---------- */
body.nk-page .nk-iconbox .elementor-icon-box-wrapper { display: flex; gap: 14px; align-items: center; text-align: left; }
body.nk-page .nk-iconbox.nk-top .elementor-icon-box-wrapper { flex-direction: column; align-items: flex-start; }
body.nk-page .nk-iconbox .elementor-icon-box-icon { margin: 0 !important; flex: none; }
body.nk-page .nk-iconbox .elementor-icon {
	width: 46px; height: 46px; border-radius: 14px; background: var(--nk-butter);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 19px; color: var(--nk-slate-d); fill: var(--nk-slate-d); padding: 0;
}
body.nk-page .nk-iconbox .elementor-icon svg { width: 20px; height: 20px; }
body.nk-page .nk-iconbox .elementor-icon-box-title { margin: 0 0 2px; font-family: var(--nk-serif); font-weight: 400; font-size: 20px; line-height: 1.25; color: var(--nk-ink); }
body.nk-page .nk-iconbox .elementor-icon-box-title a { color: inherit !important; text-decoration: none; }
body.nk-page .nk-iconbox .elementor-icon-box-description { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--nk-muted); }
body.nk-page .nk-iconbox-lg .elementor-icon-box-title { font-size: 24px; }
body.nk-page .nk-iconbox-lg .elementor-icon-box-description { font-size: 16px; }

body.nk-page .nk-ticks .elementor-icon-list-items { display: flex; flex-direction: column; gap: 14px; list-style: none; margin: 0; padding: 0; }
body.nk-page .nk-ticks .elementor-icon-list-item { display: flex; align-items: center; gap: 14px; padding: 0 !important; margin: 0 !important; }
body.nk-page .nk-ticks .elementor-icon-list-icon {
	width: 40px; height: 40px; border-radius: 12px; background: var(--nk-butter);
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	color: var(--nk-slate-d); font-size: 15px;
}
body.nk-page .nk-ticks .elementor-icon-list-icon i, body.nk-page .nk-ticks .elementor-icon-list-icon svg { color: var(--nk-slate-d); fill: var(--nk-slate-d); width: 16px; }
body.nk-page .nk-ticks .elementor-icon-list-text { color: var(--nk-ink); font-size: 16.5px; padding: 0 !important; }

/* Numbered steps (Before your scan) */
body.nk-page .nk-steps ol { list-style: none; counter-reset: nk; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
body.nk-page .nk-steps li { counter-increment: nk; display: flex; gap: 14px; align-items: flex-start; font-size: 16.5px; line-height: 1.6; color: var(--nk-muted); }
body.nk-page .nk-steps li::before {
	content: counter(nk); flex: none; width: 34px; height: 34px; border-radius: 50%;
	background: var(--nk-butter); color: #7A5C14; display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
	margin-top: -3px;
}

/* Stat tiles (About) */
body.nk-page .nk-stat { background: #FFFFFF; border: 1px solid var(--nk-line); border-radius: 18px; --padding-top: 18px; --padding-right: 20px; --padding-bottom: 18px; --padding-left: 20px; --gap: 4px; }
body.nk-page .nk-stat .elementor-heading-title { font-size: 28px !important; color: var(--nk-teal) !important; }

/* ---------- Slider ("Care for every stage of life") ---------- */
body.nk-page .nk-slider { position: relative; }
body.nk-page .nk-slider .nk-slide[hidden] { display: none !important; }
/* (replaced) body.nk-page .nk-slider .nk-slide { animation: nk-slide-in 420ms var(--nk-ease-out) both; } */
body.nk-page .nk-slider .nk-slide {
	opacity: 1; translate: 0 0;
	transition: opacity 320ms var(--nk-ease-out), translate 320ms var(--nk-ease-out);
}
@starting-style { body.nk-page .nk-slider .nk-slide { opacity: 0; translate: 0 10px; } }
@keyframes nk-slide-in { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
body.nk-page .nk-slider-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; width: 100%; }
body.nk-page .nk-dots { display: flex; gap: 4px; align-items: center; }
body.nk-page .nk-dot-hit { display: flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; background: none; border: 0; padding: 0; cursor: pointer; }
/* (replaced) body.nk-page .nk-dot { display: block; height: 8px; width: 8px; border-radius: 999px; background: #CBC2DC; transition: width 260ms var(--nk-ease-in-out), background-color 200ms ease; } */
body.nk-page .nk-dot { display: block; height: 8px; width: 26px; border-radius: 999px; background: #CBC2DC; transform: scaleX(0.3077); transition: transform 260ms var(--nk-ease-in-out), background-color 200ms ease; }
/* (replaced) body.nk-page .nk-dot-hit[aria-current="true"] .nk-dot { width: 26px; background: var(--nk-teal); } */
body.nk-page .nk-dot-hit[aria-current="true"] .nk-dot { transform: scaleX(1); background: var(--nk-teal); }
body.nk-page .nk-dot-hit { min-width: 30px; }
body.nk-page .nk-arrows { display: flex; gap: 12px; }
body.nk-page .nk-arrow {
	width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--nk-line); background: #FFFFFF; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; padding: 0;
	transition: transform 160ms var(--nk-ease-out), background-color 200ms ease;
}
body.nk-page .nk-arrow:active { transform: scale(0.95); }

/* ---------- Accordion (services list, FAQs) ---------- */
body.nk-page .nk-acc { --gap: 0px; }
body.nk-page .nk-acc-item { --gap: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; border-bottom: 1px solid var(--nk-line); }
body.nk-page .nk-acc-btn {
	width: 100%; display: flex; align-items: center; gap: 16px; padding: 20px 4px; min-height: 44px;
	background: none; border: 0; cursor: pointer; text-align: left; font: inherit; color: var(--nk-ink);
	transition: color 200ms ease;
}
body.nk-page .nk-acc-btn .nk-acc-title { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.nk-page .nk-acc-btn .nk-acc-title > :first-child { font-family: var(--nk-serif); font-size: 21px; line-height: 1.3; color: inherit; }
body.nk-page .nk-acc-btn .nk-acc-sub { font-size: 15px; color: var(--nk-muted); }
body.nk-page .nk-acc-chev { flex: none; transition: transform 220ms var(--nk-ease-out); }
body.nk-page .nk-acc-btn[aria-expanded="true"] .nk-acc-chev { transform: rotate(180deg); }
/* (replaced) body.nk-page .nk-acc-panel { padding: 0 4px 22px; display: flex; flex-direction: column; gap: 12px; } */
/* (replaced) body.nk-page .nk-acc-panel[hidden] { display: none; } */
/* (replaced) body.nk-page .nk-acc-panel:not([hidden]) { animation: nk-panel-in 240ms var(--nk-ease-out) both; } */
@keyframes nk-panel-in { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
/* (replaced) body.nk-page .nk-acc-icons .nk-acc-panel { padding-left: 62px; } */
body.nk-page .nk-acc-panel {
	display: grid; grid-template-rows: 0fr; opacity: 0;
	transition: grid-template-rows 240ms var(--nk-ease-out), opacity 200ms var(--nk-ease-out);
}
body.nk-page .nk-acc-panel.is-open { grid-template-rows: 1fr; opacity: 1; }
body.nk-page .nk-acc-inner { min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: 0 4px; }
body.nk-page .nk-acc-panel.is-open .nk-acc-inner { padding-bottom: 22px; }
body.nk-page .nk-acc-inner { transition: padding-bottom 240ms var(--nk-ease-out); }
body.nk-page .nk-acc-icons .nk-acc-inner { padding-left: 62px; }

/* ---------- Tabs: picker (Before your scan) & filter (Services) ---------- */
body.nk-page .nk-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
body.nk-page .nk-tab {
	min-height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--nk-line); background: #FFFFFF;
	color: var(--nk-ink); font-family: inherit; font-size: 15px; cursor: pointer;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 160ms var(--nk-ease-out);
}
body.nk-page .nk-tab:active { transform: scale(0.97); }
body.nk-page .nk-tab[aria-pressed="true"], body.nk-page .nk-tab[aria-selected="true"] { background: var(--nk-teal); border-color: var(--nk-teal); color: #FFFFFF; }
body.nk-page .nk-picker .nk-pick[hidden], body.nk-page .nk-filter [hidden] { display: none !important; }
body.nk-page:not(.elementor-editor-active) .nk-pick-label, body.nk-page:not(.elementor-editor-active) .nk-filter-tabs { display: none !important; }
/* (replaced) body.nk-page .nk-picker.is-ready .nk-pick:not([hidden]), body.nk-page .nk-filter .is-entering { animation: nk-slide-in 280ms var(--nk-ease-out) both; } */
body.nk-page .nk-picker.is-ready .nk-pick {
	opacity: 1; translate: 0 0;
	transition: opacity 260ms var(--nk-ease-out), translate 260ms var(--nk-ease-out);
}
@starting-style { body.nk-page .nk-picker.is-ready .nk-pick { opacity: 0; translate: 0 8px; } }
body.nk-page .nk-filter [class*="nk-cat-"] {
	opacity: 1; translate: 0 0;
	transition: opacity 260ms var(--nk-ease-out), translate 260ms var(--nk-ease-out), transform 260ms var(--nk-ease-out), box-shadow 260ms ease;
	transition-delay: calc(var(--nk-i, 0) * 40ms), calc(var(--nk-i, 0) * 40ms), 0ms, 0ms;
}
@starting-style { body.nk-page .nk-filter [class*="nk-cat-"] { opacity: 0; translate: 0 8px; } }

/* ---------- Families wall ---------- */
body.nk-page .nk-wall { display: block !important; columns: 3 280px; column-gap: 22px; }
body.nk-page .nk-wall > .e-con-inner { display: block !important; columns: 3 280px; column-gap: 22px; }
body.nk-page .nk-wall .elementor-widget-image {
	break-inside: avoid; margin: 0 0 22px !important; width: 100% !important;
	background: #FFFFFF; padding: 10px 10px 14px; border-radius: 18px; box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(50, 45, 80, 0.05), 0 16px 34px -22px rgba(60, 55, 100, 0.35);
	transform: rotate(var(--nk-r, 0deg));
	transition: transform 300ms var(--nk-ease-out), box-shadow 300ms ease;
}
body.nk-page .nk-wall .elementor-widget-image:nth-child(3n+1) { --nk-r: -1.2deg; }
body.nk-page .nk-wall .elementor-widget-image:nth-child(3n+2) { --nk-r: 0.8deg; }
body.nk-page .nk-wall .elementor-widget-image:nth-child(3n) { --nk-r: -0.4deg; }
body.nk-page .nk-wall .elementor-widget-image img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
body.nk-page .nk-wall .elementor-widget-image:nth-child(3n+2) img { aspect-ratio: 1 / 1; }
body.nk-page .nk-wall figure { margin: 0; }
body.nk-page .nk-wall figcaption, body.nk-page .nk-wall .widget-image-caption { font-size: 13.5px; color: var(--nk-muted); text-align: center; padding-top: 10px; margin: 0; letter-spacing: 0.02em; }

/* ---------- Testimonials ---------- */
body.nk-page .nk-quote-text p, body.nk-page .nk-quote-text blockquote { font-family: var(--nk-serif); font-size: 21px; line-height: 1.45; color: var(--nk-ink); margin: 0; }
body.nk-page .nk-person { border-top: 1px solid var(--nk-line); padding-top: 16px; margin-top: auto; }
body.nk-page .nk-person p { margin: 0; color: var(--nk-ink); }
body.nk-page .nk-person p + p { font-size: 14px; color: var(--nk-muted); }

/* ---------- Forms (Contact Form 7) ---------- */
body.nk-page .nk-form .wpcf7 form { display: flex; flex-direction: column; gap: 18px; }
body.nk-page .nk-form .nk-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
body.nk-page .nk-form label { display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; color: var(--nk-ink); }
body.nk-page .nk-form .wpcf7-form-control-wrap { display: block; }
body.nk-page .nk-form input[type="text"], body.nk-page .nk-form input[type="tel"], body.nk-page .nk-form input[type="email"], body.nk-page .nk-form input[type="date"], body.nk-page .nk-form select, body.nk-page .nk-form textarea {
	font-family: inherit; font-size: 16px; color: var(--nk-ink); background: #FFFFFF;
	border: 1px solid #DCD3E8; border-radius: 14px; padding: 13px 16px; min-height: 50px; width: 100%; box-sizing: border-box;
	transition: border-color 200ms ease, box-shadow 200ms ease;
}
body.nk-page .nk-form textarea { min-height: 110px; resize: vertical; }
body.nk-page .nk-form input:focus, body.nk-page .nk-form select:focus, body.nk-page .nk-form textarea:focus { outline: none; border-color: var(--nk-teal); box-shadow: 0 0 0 3px rgba(58, 125, 138, 0.18); }
body.nk-page .nk-form .nk-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
body.nk-page .nk-form .nk-submit-row span.nk-hint { font-size: 14px; color: var(--nk-muted); }
body.nk-page .nk-form .wpcf7-not-valid-tip { font-size: 13.5px; color: #A2463F; margin-top: 6px; }
body.nk-page .nk-form .wpcf7-response-output { margin: 4px 0 0 !important; border-radius: 14px; padding: 14px 16px !important; border: 1px solid var(--nk-line) !important; background: var(--nk-mint); color: var(--nk-teal-d); }
body.nk-page .nk-form .wpcf7 form.invalid .wpcf7-response-output, body.nk-page .nk-form .wpcf7 form.failed .wpcf7-response-output { background: #FBEDEA; color: #8A3B33; }
body.nk-page .nk-form .wpcf7-spinner { margin: 0 8px; }

/* ---------- Map ---------- */
body.nk-page .nk-map { border-radius: 20px; overflow: hidden; min-height: 180px; height: 100%; }
body.nk-page .nk-map iframe { display: block; width: 100%; height: 100%; min-height: 260px; border: 0; }
body.nk-page .nk-map-lg .nk-map, body.nk-page .nk-map-lg .nk-map iframe { min-height: 380px; }

/* ---------- Footer ---------- */
body.nk-page .nk-footer { max-width: 1200px; margin: 0 auto; padding: clamp(64px, 8vw, 104px) 24px 40px; box-sizing: border-box; }
body.nk-page .nk-footer-card {
	border-radius: 32px; padding: 48px; display: flex; flex-direction: column; gap: 36px;
	background: linear-gradient(160deg, #FFFFFF 0%, #FBF7FD 60%, #FFF6DC 100%);
	border: 1px solid rgba(127, 138, 171, 0.16); box-shadow: var(--nk-shadow);
}
body.nk-page .nk-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 36px; }
body.nk-page .nk-footer-col { display: flex; flex-direction: column; gap: 14px; }
body.nk-page .nk-footer .nk-footer-title { font-family: var(--nk-serif); font-weight: 400; font-size: 24px; line-height: 1.2; color: var(--nk-teal); margin: 0; }
body.nk-page .nk-footer-line { display: flex; gap: 12px; align-items: center; color: var(--nk-ink) !important; text-decoration: none; }
body.nk-page .nk-footer-muted { color: var(--nk-muted); }
body.nk-page .nk-foot-ic { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--nk-teal); flex: none; }
body.nk-page .nk-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body.nk-page .nk-footer-menu a { color: var(--nk-ink) !important; text-decoration: none; }
body.nk-page .nk-footer-menu a:hover { color: var(--nk-teal) !important; }
body.nk-page .nk-footer-social { display: flex; gap: 10px; padding-top: 6px; }
body.nk-page .nk-footer-map .nk-map { min-height: 180px; }
body.nk-page .nk-footer-bottom { border-top: 1px solid var(--nk-line); padding-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13.5px; color: var(--nk-muted); }
@media (max-width: 767px) { body.nk-page .nk-footer-card { padding: 32px 24px; } }

/* ==========================================================================
   Motion
   ========================================================================== */
@keyframes nk-rise { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
@keyframes nk-settle { from { opacity: 0; scale: 1.04; } to { opacity: 1; scale: 1; } }
@keyframes nk-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes nk-reveal { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }

/* Hero entrance: copy staggers in, photo settles. Not in the Elementor editor. */
body.nk-page:not(.elementor-editor-active) .nk-hero-copy > .elementor-element, body.nk-page:not(.elementor-editor-active) .nk-hero-copy > .e-con-inner > .elementor-element { animation: nk-rise 760ms var(--nk-ease-out) both; }
body.nk-page:not(.elementor-editor-active) .nk-hero-copy .elementor-element:nth-child(2) { animation-delay: 60ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero-copy .elementor-element:nth-child(3) { animation-delay: 120ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero-copy .elementor-element:nth-child(4) { animation-delay: 180ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero-copy .elementor-element:nth-child(5) { animation-delay: 240ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero .nk-cover img { animation: nk-settle 1100ms var(--nk-ease-out) both; }
body.nk-page:not(.elementor-editor-active) .nk-strip { animation: nk-rise 760ms var(--nk-ease-out) 320ms both; }

/* (replaced) scroll-linked reveal — it reversed on scroll-up; now played once from niriksha.js
 Scroll reveal (browsers with scroll-driven animations; others show content normally) 
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		body.nk-page:not(.elementor-editor-active) .nk-main .elementor-widget-heading:not(.nk-hero-copy *), body.nk-page:not(.elementor-editor-active) .nk-main .nk-card, body.nk-page:not(.elementor-editor-active) .nk-main .nk-photo, body.nk-page:not(.elementor-editor-active) .nk-main .nk-reveal, body.nk-page:not(.elementor-editor-active) .nk-wall .elementor-widget-image, body.nk-page:not(.elementor-editor-active) .nk-footer-card {
			animation: nk-reveal linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 70%;
		}
		body.nk-page:not(.elementor-editor-active) .nk-main .e-grid > :nth-child(3n+2), body.nk-page:not(.elementor-editor-active) .nk-wall .elementor-widget-image:nth-child(3n+2) { animation-range: entry 6% entry 76%; }
		body.nk-page:not(.elementor-editor-active) .nk-main .e-grid > :nth-child(3n), body.nk-page:not(.elementor-editor-active) .nk-wall .elementor-widget-image:nth-child(3n) { animation-range: entry 12% entry 82%; }
	}
}

*/

/* Scroll reveal, played once (niriksha.js marks below-the-fold elements, then flips them to "in") */
/* doubled attribute = enough specificity to beat .nk-lift / .nk-wall transitions while revealing */
html body.nk-page [data-nk-reveal][data-nk-reveal] {
	opacity: 0; translate: 0 18px;
	transition: opacity 600ms var(--nk-ease-out), translate 600ms var(--nk-ease-out), transform 260ms var(--nk-ease-out), box-shadow 260ms ease;
	transition-delay: var(--nk-d, 0ms), var(--nk-d, 0ms), 0ms, 0ms;
}
html body.nk-page [data-nk-reveal="in"][data-nk-reveal] { opacity: 1; translate: 0 0; }

/* Form reply message eases in instead of popping */
body.nk-page .nk-form .wpcf7-response-output { transition: opacity 240ms var(--nk-ease-out), translate 240ms var(--nk-ease-out); }
@starting-style { body.nk-page .nk-form .wpcf7-response-output { opacity: 0; translate: 0 6px; } }

/* Hover motion only for real pointers */
@media (hover: hover) and (pointer: fine) {
	body.nk-page .nk-lift { transition: transform 260ms var(--nk-ease-out), box-shadow 260ms ease; }
	body.nk-page .nk-lift:hover { transform: translateY(-3px); box-shadow: var(--nk-shadow-hi); }
	body.nk-page .nk-zoom:hover img { transform: scale(1.03); }
	body.nk-page .nk-strip .elementor-widget-icon-box:hover { background: #FBF8FD; }
	body.nk-page .nk-acc-btn:hover { color: var(--nk-teal); }
	body.nk-page .nk-arrow:hover { background: var(--nk-lav); }
	body.nk-page .nk-tab:not([aria-pressed="true"]):not([aria-selected="true"]):hover { border-color: var(--nk-slate); background: #FBF8FD; }
	body.nk-page .nk-wall .elementor-widget-image:hover { transform: rotate(0deg) translateY(-4px); box-shadow: 0 1px 2px rgba(50, 45, 80, 0.05), 0 26px 46px -24px rgba(60, 55, 100, 0.42); }
}

/* Reduced motion: gentle fades only */
@media (prefers-reduced-motion: reduce) {
	body.nk-page .nk-hero-copy .elementor-element, body.nk-page .nk-hero .nk-cover img, body.nk-page .nk-strip, body.nk-page .nk-slider .nk-slide, body.nk-page .nk-acc-panel, body.nk-page .nk-pick { animation: nk-fade 200ms ease both !important; }
	body.nk-page .nk-lift, body.nk-page .nk-lift:hover, body.nk-page .nk-zoom:hover img, body.nk-page .nk-wall .elementor-widget-image, body.nk-page .nk-wall .elementor-widget-image:hover, body.nk-page .nk-button:active, body.nk-page .nk-btn .elementor-button:active, body.nk-page .nk-tab:active, body.nk-page .nk-arrow:active { transform: none !important; }
	body.nk-page .nk-menu-toggle-bars, body.nk-page .nk-menu-toggle-bars::before, body.nk-page .nk-menu-toggle-bars::after, body.nk-page .nk-nav-wrap { transition: none !important; }
	body.nk-page [data-nk-reveal], body.nk-page .nk-slider .nk-slide, body.nk-page .nk-picker.is-ready .nk-pick, body.nk-page .nk-filter [class*="nk-cat-"], body.nk-page .nk-form .wpcf7-response-output { translate: none !important; transition-delay: 0ms !important; }
	html body.nk-page [data-nk-reveal][data-nk-reveal] { transition: opacity 200ms ease !important; }
	body.nk-page .nk-acc-panel { transition: opacity 200ms ease !important; }
	body.nk-page .nk-dot { transition: background-color 200ms ease !important; }
}

/* ---------- Page-specific helpers ---------- */
body.nk-page .nk-pick.nk-card { overflow: hidden; }
body.nk-page .nk-when .elementor-heading-title { font-size: clamp(34px, 3.6vw, 44px) !important; color: var(--nk-teal) !important; line-height: 1.05; }
body.nk-page .nk-info-text { padding-left: 60px; color: var(--nk-muted); }
body.nk-page .nk-info-text p { margin: 0; }
body.nk-page .nk-head-row { --gap: 16px; }
body.nk-page .nk-ph-tall { min-height: 300px; }
body.nk-page .nk-ph-doc { min-height: 460px; border-radius: 24px; }
@media (max-width: 767px) { body.nk-page .nk-ph-doc { min-height: 300px; } }

/* ---------- Fixes after first live test (Elementor 4.3) ---------- */
/* Elementor grid containers default to 2 equal rows, which leaves empty space; let rows size to content. */
body.nk-page .e-con.e-grid { --e-con-grid-template-rows: none; grid-auto-rows: auto; }

/* Point Elementor's own global fonts/colours at the Niriksha ones, so every widget matches
   even when "Disable Default Fonts/Colors" is off. Global settings you change in Elementor still apply elsewhere. */
body.nk-page {
	--e-global-typography-primary-font-family: 'Playfair Display';
	--e-global-typography-primary-font-weight: 400;
	--e-global-typography-secondary-font-family: 'Playfair Display';
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family: 'Nunito Sans';
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: 'Nunito Sans';
	--e-global-typography-accent-font-weight: 400;
	--e-global-color-primary: #3A7D8A;
	--e-global-color-secondary: #6E77A0;
	--e-global-color-text: #5C6274;
	--e-global-color-accent: #3A7D8A;
}
body.nk-page .nk-iconbox .elementor-icon-box-title a,
body.nk-page .nk-iconbox .elementor-icon-box-title span { font: inherit; color: inherit; }

/* Icons whose Font Awesome 6 names aren't in Elementor's icon set: draw them here. */
body.nk-page .elementor-icon i.fa-heart-pulse,
body.nk-page .elementor-icon i.fa-circle-dot,
body.nk-page .elementor-icon i.fa-location-dot,
body.nk-page .elementor-icon i.fa-shield-halved {
	display: inline-block; width: 20px; height: 20px; background-color: currentColor;
	-webkit-mask: var(--nk-ico) center / contain no-repeat; mask: var(--nk-ico) center / contain no-repeat;
}
body.nk-page i.fa-heart-pulse { --nk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-5 4 10 2-5h6'/%3E%3C/svg%3E"); }
body.nk-page i.fa-circle-dot { --nk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='black'/%3E%3C/svg%3E"); }
body.nk-page i.fa-location-dot { --nk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
body.nk-page i.fa-shield-halved { --nk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }

/* ==========================================================================
   Added: pregnancy week guide, "What happens on the day", phone action bar
   ========================================================================== */

body.nk-page .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.nk-page .nk-button-soft { background: var(--nk-butter); color: var(--nk-teal-d) !important; border: 1px solid rgba(58, 125, 138, 0.45); }
body.nk-page .nk-button-soft:hover { background: var(--nk-butter-2); }

/* ---------- Week guide: [nk_week_guide] inside a container with nk-card nk-card-lg nk-wk-box ---------- */
body.nk-page .nk-wk-box { background: linear-gradient(125deg, #FFF6DE 0%, #FBF6FA 50%, #EEE6F8 100%); border-radius: 32px; }
body.nk-page .nk-wk { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: stretch; }
body.nk-page .nk-wk-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
body.nk-page .nk-wk h2 { margin: 0; }
body.nk-page .nk-wk-intro { margin: 0; max-width: 34em; color: var(--nk-muted); font-size: 17px; line-height: 1.65; }
body.nk-page .nk-wk-now { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; }
body.nk-page .nk-wk-count { display: flex; flex-direction: column; gap: 2px; }
body.nk-page .nk-wk-num { font-family: var(--nk-serif); font-size: 72px; line-height: 1; color: var(--nk-teal); letter-spacing: -0.02em; font-variant-numeric: lining-nums tabular-nums; }
body.nk-page .nk-wk-sub { font-size: 15px; color: var(--nk-muted); }

body.nk-page .nk-fruit { display: flex; align-items: center; gap: 18px; flex: 1; min-width: 260px; background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(127, 138, 171, 0.16); border-radius: 22px; padding: 12px 20px 12px 12px; }
body.nk-page .nk-fruit-stage { width: 104px; height: 104px; flex: none; border-radius: 20px; background: radial-gradient(circle at 50% 60%, #FFF7DF 0%, #F4EEFA 70%); display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.nk-page .nk-fruit-scale { width: 104px; height: 104px; transform-origin: 50% 60%; transition: transform 220ms var(--nk-ease-out); }
body.nk-page .nk-fruit-svg { display: block; width: 104px; height: 104px; }
body.nk-page .nk-fruit-svg[hidden] { display: none; }
body.nk-page .nk-fruit-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.nk-page .nk-fruit-k { font-size: 13.5px; color: var(--nk-slate-d); }
body.nk-page .nk-fruit-name { font-family: var(--nk-serif); font-size: 26px; line-height: 1.15; color: var(--nk-ink); }
body.nk-page .nk-fruit-stats { font-size: 14.5px; color: var(--nk-muted); }

body.nk-page .nk-wk-label { display: flex; flex-direction: column; gap: 4px; margin: 0; }
body.nk-page .nk-wk-range { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; background: transparent; cursor: pointer; margin: 0; padding: 0; border: 0; --p: 50%; }
body.nk-page .nk-wk-range:focus-visible { outline: none; }
body.nk-page .nk-wk-range::-webkit-slider-runnable-track { height: 8px; border-radius: 999px; background: linear-gradient(90deg, var(--nk-teal) 0 var(--p), #E3DAF0 var(--p) 100%); }
body.nk-page .nk-wk-range::-moz-range-track { height: 8px; border-radius: 999px; background: #E3DAF0; }
body.nk-page .nk-wk-range::-moz-range-progress { height: 8px; border-radius: 999px; background: var(--nk-teal); }
body.nk-page .nk-wk-range::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -10px; border-radius: 50%; background: #FFFFFF; border: 3px solid var(--nk-teal); box-shadow: 0 6px 16px -6px rgba(44, 100, 112, 0.55); transition: transform 160ms var(--nk-ease-out); }
body.nk-page .nk-wk-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #FFFFFF; border: 3px solid var(--nk-teal); box-shadow: 0 6px 16px -6px rgba(44, 100, 112, 0.55); transition: transform 160ms var(--nk-ease-out); }
body.nk-page .nk-wk-range:active::-webkit-slider-thumb { transform: scale(1.12); }
body.nk-page .nk-wk-range:active::-moz-range-thumb { transform: scale(1.12); }
body.nk-page .nk-wk-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(58, 125, 138, 0.25), 0 6px 16px -6px rgba(44, 100, 112, 0.55); }
body.nk-page .nk-wk-range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(58, 125, 138, 0.25), 0 6px 16px -6px rgba(44, 100, 112, 0.55); }

body.nk-page .nk-wk-track { position: relative; height: 72px; margin-top: 6px; }
body.nk-page .nk-wk-seg { position: absolute; height: 26px; border-radius: 999px; background: #EEE6F7; border: 1px solid #E1D6EE; display: flex; align-items: center; padding: 0 10px; box-sizing: border-box; font-size: 12.5px; color: var(--nk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; }
body.nk-page .nk-wk-seg.is-on { background: var(--nk-teal); border-color: var(--nk-teal); color: #FFFFFF; }
body.nk-page .nk-wk-ticks { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--nk-muted); font-variant-numeric: tabular-nums; }

body.nk-page .nk-wk-card { background: #FFFFFF; border-radius: 24px; border: 1px solid rgba(127, 138, 171, 0.16); box-shadow: var(--nk-shadow); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
body.nk-page .nk-wk-result { display: flex; flex-direction: column; gap: 14px; }
body.nk-page .nk-wk-k { font-size: 14px; color: var(--nk-slate-d); }
body.nk-page .nk-wk-due { display: flex; flex-direction: column; gap: 6px; }
body.nk-page .nk-wk-due + .nk-wk-due { border-top: 1px solid var(--nk-line); padding-top: 16px; }
body.nk-page .nk-wk-title { font-family: var(--nk-serif); font-size: 26px; line-height: 1.15; color: var(--nk-ink); }
body.nk-page .nk-wk-what { font-size: 16px; line-height: 1.6; color: var(--nk-muted); }
body.nk-page .nk-wk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 6px; }
body.nk-page .nk-wk-note { margin: 0; font-size: 13px; line-height: 1.6; color: var(--nk-muted); }

@media (max-width: 1024px) { body.nk-page .nk-wk { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
	body.nk-page .nk-wk-card { padding: 24px; }
	body.nk-page .nk-wk-track { height: 60px; }
	body.nk-page .nk-wk-num { font-size: 56px; }
	body.nk-page .nk-wk-seg { font-size: 0; padding: 0; }
	body.nk-page .nk-fruit { min-width: 0; width: 100%; flex: 1 1 100%; padding-right: 14px; }
	body.nk-page .nk-fruit-name { font-size: 22px; }
	body.nk-page .nk-fruit-stage, body.nk-page .nk-fruit-scale, body.nk-page .nk-fruit-svg { width: 80px; height: 80px; }
}

/* ---------- What happens on the day: grid container nk-day > containers nk-day-item (Heading h3 + Text) ---------- */
body.nk-page .nk-day { counter-reset: nk-day; position: relative; }
body.nk-page .nk-day::before {
	content: ""; display: block; position: absolute; left: 28px; right: calc((100% - 72px) / 4 - 28px); top: 28px;
	width: auto; height: 0; border: 0; border-top: 2px dashed #D9CDEA; border-radius: 0;
	background: none; opacity: 1; mix-blend-mode: normal; z-index: 0;
}
body.nk-page .nk-day-item { counter-increment: nk-day; position: relative; z-index: 1; --gap: 12px; }
body.nk-page .nk-day-item::before {
	content: counter(nk-day); position: relative; top: auto; left: auto; display: flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; flex: none; box-sizing: border-box; border-radius: 50%;
	background: #FFFFFF; border: 1px solid var(--nk-line); box-shadow: 0 10px 24px -16px rgba(60, 55, 100, 0.5);
	font-family: var(--nk-serif); font-size: 22px; color: var(--nk-teal); opacity: 1; mix-blend-mode: normal;
}
body.nk-page .nk-day-item:last-child::before { background: var(--nk-teal); color: #FFFFFF; border-color: var(--nk-teal); }
body.nk-page .nk-day-item .elementor-widget-text-editor p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--nk-muted); }
@media (max-width: 1024px) { body.nk-page .nk-day::before { display: none; } }

/* ---------- Phone action bar (footer) ---------- */
body.nk-page .nk-mbar { display: none; }
@media (max-width: 767px) {
	body.nk-page:not(.elementor-editor-active) .nk-mbar {
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
		background: #FFFFFF; border-top: 1px solid var(--nk-line); box-shadow: 0 -10px 30px -20px rgba(60, 55, 100, 0.45);
		padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
		transition: transform 420ms var(--nk-ease-out);
	}
	@starting-style { body.nk-page:not(.elementor-editor-active) .nk-mbar { transform: translateY(100%); } }
	body.nk-page .nk-mbar a {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 52px;
		border-radius: 14px; text-decoration: none; color: var(--nk-ink); font-size: 13px; line-height: 1.2;
		-webkit-tap-highlight-color: transparent;
		transition: transform 160ms var(--nk-ease-out), background-color 200ms ease;
	}
	body.nk-page .nk-mbar a:active { transform: scale(0.97); background: var(--nk-lav); }
	body.nk-page .nk-mbar a.nk-mbar-p { background: var(--nk-teal); color: #FFFFFF; }
	body.nk-page:not(.elementor-editor-active) .nk-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
	body.nk-page .nk-fruit-scale, body.nk-page .nk-mbar, body.nk-page .nk-mbar a { transition: none; }
	body.nk-page .nk-wk-range::-webkit-slider-thumb { transition: none; }
	body.nk-page .nk-wk-range::-moz-range-thumb { transition: none; }
}
