/* ==========================================================================
   Niriksha design v2: sage + beige (from the reference images)
   Loads AFTER niriksha.css and only re-skins it, so the original file is untouched.
   To go back to the first design, set NK_DESIGN to 'v1' in inc/niriksha.php.

   New classes for Elementor (Advanced > CSS Classes):
     nk-hero2            hero row (copy + photo); add nk-hero2-sm on inner pages
     nk-hero2-copy       the text column of the hero
     nk-hero2-media      the photo column: one Image with nk-blob-main, optional Image with nk-blob-small,
                         optional Text Editors with nk-tag nk-tag-a / nk-tag nk-tag-b
     nk-eyebrow          small uppercase label above a heading (Text Editor)
     nk-aside            handwritten one-liner (Text Editor)
     nk-open             "Open today" line with the green live dot (Text Editor)
     nk-btn-call         white button with teal outline (Button widget)
     nk-tint-olive / nk-tint-sage / nk-tint-sand / nk-tint-wash / nk-tint-white   card background (container)
     nk-svc              service card; put an Image with nk-card-img last so it bleeds off the bottom
     nk-badge            Icon Box whose icon sits in a round white badge
     nk-chips            Text Editor of <span>chips</span>
     nk-link             Button widget shown as a teal text link with an arrow
     nk-trust            row of Icon Boxes in one hairline bar
     nk-panel2           white rounded panel with a soft shadow
     nk-hours            Text Editor holding the opening-hours table
     nk-band-sage / nk-band-sand / nk-band-cream   full-width coloured band (top-level container)
     nk-blob             Image widget clipped to a soft blob, with sage/sand blobs behind
     nk-feat             Icon Box shown as icon-above-label feature
     nk-bookband         sage booking band (copy column + Image with nk-band-img)
     nk-act              "in action" photo card (Image + Heading + Text)
     nk-carousel         container of Image widgets (with captions); becomes the families carousel
     nk-faq2             accordion laid out as two columns of rounded rows (add with nk-acc)
     nk-ph-slot          photo placeholder (HTML widget) until the real photo is added
   ========================================================================== */

body.nk-page {
	--nk-teal: #297D7A;
	--nk-teal-d: #1F6664;
	--nk-link: #1C5F5C;
	--nk-ink: #1F2E2A;
	--nk-muted: #45574F;
	--nk-slate: #7FA184;
	--nk-slate-d: #1C5F5C;
	--nk-lav: #E8EFE8;
	--nk-lav-2: #DCE7DC;
	--nk-line: #D3DED2;
	--nk-butter: #F1E5CC;
	--nk-butter-2: #EBDCBC;
	--nk-mint: #E8EFE8;
	--nk-sage: #A4BDA8;
	--nk-olive: #E2DDC2;
	--nk-sand: #F9F2E4;
	--nk-wash: #E8EFE8;
	--nk-book: #A0B8A4;
	--nk-cream: #FBF5E9;
	--nk-bg: #FBFAF5;
	--nk-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
	--nk-shadow: 0 10px 30px -18px rgba(31, 46, 42, 0.22);
	--nk-shadow-hi: 0 18px 40px -20px rgba(31, 46, 42, 0.30);
	--nk-r-card: 20px;
	--nk-sec: clamp(72px, 8vw, 96px);

	background: var(--nk-bg);
	color: var(--nk-ink);
	font-size: 18px;
	scrollbar-color: #C5D3C6 var(--nk-bg);

	--e-global-color-primary: #297D7A;
	--e-global-color-secondary: #1C5F5C;
	--e-global-color-text: #45574F;
	--e-global-color-accent: #297D7A;
}
body.nk-page ::selection { background: #CFDDD0; color: var(--nk-ink); }
body.nk-page a { color: var(--nk-link); }
body.nk-page a:hover { color: var(--nk-ink); }
body.nk-page .elementor-widget-text-editor { color: var(--nk-muted); }

/* ---------- 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 { color: var(--nk-ink); }
body.nk-page h1, body.nk-page .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(40px, 4.8vw, 58px); line-height: 1.08; letter-spacing: -0.015em; }
body.nk-page h2, body.nk-page .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(32px, 3.6vw, 44px); line-height: 1.1; }
body.nk-page h3, body.nk-page .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(22px, 2vw, 25px); }
body.nk-page h1 em, body.nk-page h2 em, body.nk-page h3 em, body.nk-page .elementor-heading-title em { color: var(--nk-link); }
body.nk-page .nk-lead, body.nk-page .nk-lead p { font-size: 19px; color: var(--nk-muted); max-width: 32em; }
body.nk-page .nk-eyebrow, body.nk-page .nk-eyebrow p { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--nk-muted); margin: 0; }
body.nk-page .nk-aside, body.nk-page .nk-aside p { font-family: 'Caveat', cursive; font-weight: 500; font-size: 26px; line-height: 1.1; color: var(--nk-link); margin: 0; }
body.nk-page .nk-aside p::before {
	content: ""; display: inline-block; width: 52px; height: 30px; margin-right: 8px; vertical-align: -6px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cpath d='M4 30c10-18 22 6 32-10s16-10 22-14' fill='none' stroke='%237FA184' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M52 4l6 2-2 6' fill='none' stroke='%237FA184' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.nk-page .nk-open p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin: 0; font-size: 16px; color: var(--nk-ink); }
body.nk-page .nk-open p > span { display: inline-flex; align-items: center; gap: 8px; }
body.nk-page .nk-open .nk-dot-live { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #2F7D4F; box-shadow: 0 0 0 4px rgba(47, 125, 79, 0.15); }
body.nk-page .nk-open .nk-dot-live::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #2F7D4F; animation: nk-livepulse 2400ms var(--nk-ease-out) infinite; }
@keyframes nk-livepulse { 0% { transform: scale(1); opacity: 0.45; } 70%, 100% { transform: scale(2.6); opacity: 0; } }

/* ---------- Header ---------- */
body.nk-page .nk-topbar { background: rgba(255, 255, 255, 0.96); box-shadow: none; border-bottom: 1px solid var(--nk-line); }
body.nk-page .nk-topbar::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px; pointer-events: none; opacity: 0;
	background: linear-gradient(180deg, rgba(31, 46, 42, 0.10), rgba(31, 46, 42, 0));
}
@supports (animation-timeline: scroll()) {
	body.nk-page .nk-topbar::after { animation: nk-hdrshadow linear both; animation-timeline: scroll(); animation-range: 0 40px; }
}
@keyframes nk-hdrshadow { to { opacity: 1; } }
body.nk-page .nk-menu { gap: 6px; }
body.nk-page .nk-menu a { font-size: 16px; padding: 10px 12px; }
body.nk-page .nk-menu .current-menu-item > a, body.nk-page .nk-menu .current_page_item > a { color: var(--nk-link) !important; font-weight: 600; text-decoration: none; box-shadow: inset 0 -2px 0 var(--nk-teal); }
body.nk-page .nk-phone { color: var(--nk-link) !important; font-weight: 600; font-size: 16px; border-radius: 999px; }
body.nk-page .nk-phone svg { stroke: currentColor; }
body.nk-page .nk-brand-mark circle { fill: var(--nk-teal); }

/* ---------- 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-btn-call .elementor-button, body.nk-page .nk-form .wpcf7-submit {
	min-height: 52px; font-weight: 600; font-size: 16.5px; letter-spacing: 0;
}
body.nk-page .nk-button-primary, body.nk-page .nk-btn .elementor-button, body.nk-page .nk-form .wpcf7-submit { background: var(--nk-teal); box-shadow: none; }
body.nk-page .nk-btn-call .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 26px; border-radius: 999px; box-sizing: border-box;
	font-family: var(--nk-sans); line-height: 1.2; text-decoration: none !important; cursor: pointer;
	background: #FFFFFF; color: var(--nk-link) !important; border: 1.5px solid var(--nk-teal);
	transition: transform 160ms var(--nk-ease-out), background-color 200ms ease;
}
body.nk-page .nk-btn-call .elementor-button:active { transform: scale(0.97); }
body.nk-page .nk-btn-soft .elementor-button, body.nk-page .nk-button-soft { background: var(--nk-butter); color: var(--nk-ink) !important; border: 1.5px solid #E3D3B0; }
body.nk-page .nk-btn-soft .elementor-button:hover, body.nk-page .nk-button-soft:hover { background: var(--nk-butter-2); }
body.nk-page .nk-link .elementor-button {
	background: none; padding: 0; min-height: 44px; color: var(--nk-link) !important; font-weight: 600; font-size: 16.5px; border: 0; box-shadow: none;
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
}
body.nk-page .nk-link .elementor-button-text::after {
	content: ""; display: inline-block; width: 18px; height: 18px; margin-left: 8px; vertical-align: -4px; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 200ms var(--nk-ease-out);
}
/* small icons inside buttons (Elementor button icons) */
body.nk-page .elementor-button .elementor-button-icon svg { width: 19px; height: 19px; fill: currentColor; }
/* sending state for the Contact Form 7 button */
body.nk-page .nk-form .wpcf7 form.submitting .wpcf7-submit { opacity: 0.85; cursor: progress; }
body.nk-page .nk-form .wpcf7-spinner { background-color: var(--nk-teal); }

/* ---------- Sections, bands, tints ---------- */
body.nk-page .nk-section { --padding-top: var(--nk-sec); --padding-bottom: 0px; }
body.nk-page .nk-section.nk-band-sage, body.nk-page .nk-section.nk-band-sand, body.nk-page .nk-section.nk-band-cream { --padding-bottom: var(--nk-sec); margin-top: var(--nk-sec); }
body.nk-page .nk-band-sage { background: var(--nk-wash); position: relative; overflow: hidden; }
body.nk-page .nk-band-sand { background: linear-gradient(180deg, var(--nk-sand) 0%, var(--nk-bg) 100%); }
body.nk-page .nk-band-cream { background: var(--nk-cream); }
body.nk-page .nk-band-y { background: var(--nk-cream); }
body.nk-page .nk-band-l { background: var(--nk-wash); }
body.nk-page .nk-band-mix { background: linear-gradient(120deg, var(--nk-wash) 0%, var(--nk-bg) 55%, var(--nk-sand) 100%); }
body.nk-page .nk-band-sage::before {
	content: ""; position: absolute; right: -6%; top: -14%; width: 30%; aspect-ratio: 1; pointer-events: none;
	background: var(--nk-butter); border-radius: 46% 54% 60% 40% / 50% 40% 60% 50%; opacity: 0.8;
}
body.nk-page .nk-band-sage > .e-con-inner { position: relative; }

body.nk-page .nk-card { border-color: rgba(31, 46, 42, 0.06); border-radius: var(--nk-r-card); }
body.nk-page .nk-card-lg { border-radius: var(--nk-r-card); }
body.nk-page .nk-panel2 { background: #FFFFFF; border-radius: var(--nk-r-card); box-shadow: var(--nk-shadow); --padding-top: 32px; --padding-right: 32px; --padding-bottom: 32px; --padding-left: 32px; }
body.nk-page :is(.nk-tint-olive, .nk-tint-sage, .nk-tint-sand, .nk-tint-wash, .nk-tint-white) {
	border-radius: var(--nk-r-card); --padding-top: 26px; --padding-right: 26px; --padding-bottom: 26px; --padding-left: 26px; --gap: 12px;
}
body.nk-page .nk-tint-olive { background: var(--nk-olive); }
body.nk-page .nk-tint-sage { background: var(--nk-sage); }
body.nk-page .nk-tint-sand { background: var(--nk-sand); }
body.nk-page .nk-tint-wash { background: var(--nk-wash); }
body.nk-page .nk-tint-white { background: #FFFFFF; box-shadow: var(--nk-shadow); }
/* deep sage needs ink text (muted grey-green fails contrast on it) */
body.nk-page .nk-tint-sage .elementor-widget-text-editor, body.nk-page .nk-tint-sage .elementor-widget-text-editor p { color: var(--nk-ink); }
body.nk-page .nk-tint-sage .nk-link .elementor-button { color: #123F3D !important; }
body.nk-page .nk-ph-slot {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center;
	padding: 16px; box-sizing: border-box; min-height: 220px; height: 100%; border-radius: var(--nk-r-card);
	background: linear-gradient(140deg, #DCE7DC 0%, #F1E9D6 100%); color: var(--nk-muted); font-size: 14.5px;
}
body.nk-page .nk-ph-slot b { color: var(--nk-ink); font-weight: 600; }

/* ---------- Hero v2 ---------- */
body.nk-page .nk-hero2 {
	position: relative; overflow: hidden; isolation: isolate; background: var(--nk-wash);
	--padding-top: 72px; --padding-bottom: 150px; --padding-left: 24px; --padding-right: 24px; --gap: 48px;
}
body.nk-page .nk-hero2-sm { --padding-top: 56px; --padding-bottom: 140px; }
body.nk-page .nk-hero2::before {
	content: ""; position: absolute; z-index: -1; right: -8%; top: -18%; width: 52%; aspect-ratio: 1; pointer-events: none;
	background: var(--nk-sage); opacity: 0.85; border-radius: 62% 38% 46% 54% / 48% 56% 44% 52%;
}
body.nk-page .nk-hero2::after {
	content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: -1px; height: 70px; pointer-events: none;
	background: var(--nk-bg);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 46C180 10 360 8 560 30s420 52 620 30 220-40 260-44V80H0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 46C180 10 360 8 560 30s420 52 620 30 220-40 260-44V80H0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
body.nk-page .nk-hero2 > .e-con-inner { align-items: center; }
body.nk-page :is(.nk-hero2 > .e-con-inner, .nk-hero2.e-con-full) > .nk-hero2-copy { flex: 0 0 46%; min-width: 0; --gap: 24px; justify-content: center; }
body.nk-page :is(.nk-hero2 > .e-con-inner, .nk-hero2.e-con-full) > .nk-hero2-media { flex: 1 1 0; min-width: 0; }
body.nk-page .nk-hero2-sm h1 { font-size: clamp(38px, 4.2vw, 50px) !important; }
body.nk-page .nk-hero2-media { position: relative; isolation: isolate; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
body.nk-page .nk-hero2-media::before {
	content: ""; position: absolute; z-index: -1; left: -6%; bottom: -8%; width: 44%; aspect-ratio: 1; pointer-events: none;
	background: var(--nk-butter); border-radius: 50% 50% 44% 56% / 56% 44% 56% 44%;
}
body.nk-page .nk-blob-main, body.nk-page .nk-blob-main img { width: 100%; }
body.nk-page .nk-blob-main img {
	display: block; aspect-ratio: 1 / 0.86; object-fit: cover; max-width: none;
	border-radius: 58% 42% 46% 54% / 50% 44% 56% 50%; box-shadow: none; border: 0;
}
body.nk-page .nk-hero2-sm .nk-blob-main img { aspect-ratio: 1 / 0.8; }
body.nk-page .nk-blob-main .nk-ph-slot { aspect-ratio: 1 / 0.86; border-radius: 58% 42% 46% 54% / 50% 44% 56% 50%; min-height: 0; }
body.nk-page .nk-blob-small { position: absolute !important; left: -6%; bottom: -6%; width: 40% !important; z-index: 2; }
body.nk-page .nk-blob-small img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 6px solid #FFFFFF; box-shadow: var(--nk-shadow-hi); box-sizing: border-box; }
body.nk-page .nk-tag { position: absolute !important; z-index: 3; width: auto !important; }
body.nk-page .nk-tag p {
	margin: 0; display: inline-flex; align-items: center; gap: 8px; background: #FFFFFF; color: var(--nk-ink);
	font-size: 15px; font-weight: 600; padding: 9px 14px; border-radius: 999px; box-shadow: var(--nk-shadow); white-space: nowrap;
}
body.nk-page .nk-tag-a { right: 6%; top: 8%; }
body.nk-page .nk-tag-b { left: 26%; bottom: -2%; }
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		body.nk-page:not(.elementor-editor-active) .nk-hero2::before { animation: nk-blobdrift linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
		body.nk-page:not(.elementor-editor-active) .nk-hero2-media { animation: nk-photodrift linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
	}
}
@keyframes nk-blobdrift { to { transform: translateY(70px) rotate(6deg); } }
@keyframes nk-photodrift { to { transform: translateY(-36px); } }
body.nk-page:not(.elementor-editor-active) .nk-hero2-copy > .elementor-element { animation: nk-rise 700ms var(--nk-ease-out) both; }
body.nk-page:not(.elementor-editor-active) .nk-hero2-copy > .elementor-element:nth-child(2) { animation-delay: 60ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero2-copy > .elementor-element:nth-child(3) { animation-delay: 120ms; }
body.nk-page:not(.elementor-editor-active) .nk-hero2-copy > .elementor-element:nth-child(n+4) { animation-delay: 180ms; }
body.nk-page:not(.elementor-editor-active) .nk-blob-main img { animation: nk-settle 1000ms var(--nk-ease-out) both; }
@media (max-width: 1024px) {
	body.nk-page .nk-hero2 { --padding-top: 40px; --padding-bottom: 120px; }
	body.nk-page :is(.nk-hero2 > .e-con-inner, .nk-hero2.e-con-full) > :is(.nk-hero2-copy, .nk-hero2-media) { flex: 1 1 100%; }
	body.nk-page .nk-hero2-media { max-width: 560px; margin: 0 auto; width: 100%; }
}

/* ---------- Generic blob photo ---------- */
body.nk-page .nk-blob { position: relative; isolation: isolate; }
body.nk-page .nk-blob::before {
	content: ""; position: absolute; z-index: -1; inset: 6% -4% -6% 8%; background: var(--nk-sage); opacity: 0.55;
	border-radius: 46% 54% 42% 58% / 55% 42% 58% 45%;
}
body.nk-page .nk-blob::after {
	content: ""; position: absolute; z-index: -2; left: -7%; bottom: -8%; width: 46%; aspect-ratio: 1; background: var(--nk-butter);
	border-radius: 50% 50% 44% 56% / 56% 44% 56% 44%;
}
body.nk-page .nk-blob img { display: block; width: 100%; aspect-ratio: 1 / 0.86; object-fit: cover; border-radius: 52% 48% 44% 56% / 46% 56% 44% 54%; box-shadow: none; border: 0; }
body.nk-page .nk-blob .nk-ph-slot { aspect-ratio: 1 / 0.86; border-radius: 52% 48% 44% 56% / 46% 56% 44% 54%; }

/* ---------- Service cards ---------- */
body.nk-page .nk-svc { overflow: hidden; --padding-bottom: 0px; }
body.nk-page .nk-card-img { margin-top: auto !important; }
body.nk-page .nk-card-img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px 18px 0 0; transform: translateY(6px); box-shadow: none; border: 0; }
body.nk-page .nk-badge .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; text-align: left; }
body.nk-page .nk-badge .elementor-icon-box-icon { margin: 0 !important; }
body.nk-page .nk-badge .elementor-icon {
	width: 58px; height: 58px; border-radius: 50%; background: #FFFFFF; display: inline-flex; align-items: center; justify-content: center;
	color: var(--nk-link); fill: var(--nk-link); font-size: 22px; padding: 0;
	box-shadow: inset 0 0 0 1.5px rgba(41, 125, 122, 0.35), 0 0 0 5px rgba(255, 255, 255, 0.55);
}
body.nk-page .nk-badge .elementor-icon svg { width: 24px; height: 24px; }
body.nk-page .nk-badge .elementor-icon-box-title { margin: 0; font-family: var(--nk-serif); font-weight: 400; font-size: 25px; line-height: 1.2; color: var(--nk-ink); }
body.nk-page .nk-badge .elementor-icon-box-description { margin: 6px 0 0; font-size: 16.5px; line-height: 1.6; color: var(--nk-muted); }
body.nk-page .nk-tint-sage .nk-badge .elementor-icon-box-description { color: var(--nk-ink); }
body.nk-page .nk-chips p { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body.nk-page .nk-chips span { font-size: 14.5px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.72); color: var(--nk-ink); }
body.nk-page .nk-svc-meta p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--nk-muted); }
body.nk-page .nk-svc-meta b { color: var(--nk-ink); font-weight: 600; }

/* ---------- Trust strip ---------- */
body.nk-page .nk-trust { background: #E9F0E9; border: 1px solid var(--nk-line); border-radius: var(--nk-r-card); --gap: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; margin-top: 28px; }
body.nk-page .nk-trust .elementor-widget-icon-box { flex: 1 1 0; min-width: 0; padding: 20px 22px; border-left: 1px solid var(--nk-line); }
body.nk-page .nk-trust .elementor-widget-icon-box:first-child { border-left: 0; }
body.nk-page .nk-trust .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 14px; text-align: left; }
body.nk-page .nk-trust .elementor-icon-box-icon { margin: 0 !important; }
body.nk-page .nk-trust .elementor-icon { color: var(--nk-link); fill: var(--nk-link); font-size: 24px; width: auto; height: auto; background: none; padding: 0; }
body.nk-page .nk-trust .elementor-icon-box-title { margin: 0; font-family: var(--nk-sans); font-size: 16px; line-height: 1.35; color: var(--nk-ink); font-weight: 400; }
@media (max-width: 1024px) { body.nk-page .nk-trust .elementor-widget-icon-box { flex: 1 1 50%; border-top: 1px solid var(--nk-line); } body.nk-page .nk-trust .elementor-widget-icon-box:nth-child(-n+2) { border-top: 0; } body.nk-page .nk-trust .elementor-widget-icon-box:nth-child(3) { border-left: 0; } }
@media (max-width: 600px) { body.nk-page .nk-trust .elementor-widget-icon-box { flex: 1 1 100%; border-left: 0; } body.nk-page .nk-trust .elementor-widget-icon-box:nth-child(2) { border-top: 1px solid var(--nk-line); } }

/* ---------- Hours table, address ---------- */
body.nk-page .nk-hours table { width: 100%; border-collapse: collapse; font-size: 17px; font-variant-numeric: tabular-nums; margin: 0; }
body.nk-page .nk-hours td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--nk-line); color: var(--nk-muted); background: none; }
body.nk-page .nk-hours td:last-child { text-align: right; color: var(--nk-ink); font-weight: 600; }
body.nk-page .nk-hours tr:first-child td { color: var(--nk-link); }
body.nk-page .nk-visit-media { --gap: 16px; }
body.nk-page .nk-visit-media .nk-map { min-height: 200px; border-radius: var(--nk-r-card); }
body.nk-page .nk-visit-media .nk-ph-slot { min-height: 220px; }

/* ---------- Prep cards ---------- */
body.nk-page .nk-ticks2 .elementor-icon-list-items { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 0; padding: 0; }
body.nk-page .nk-ticks2 .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 10px; padding: 0 !important; margin: 0 !important; }
body.nk-page .nk-ticks2 .elementor-icon-list-icon { color: var(--nk-link); flex: none; margin-top: 3px; }
body.nk-page .nk-ticks2 .elementor-icon-list-icon i, body.nk-page .nk-ticks2 .elementor-icon-list-icon svg { color: var(--nk-link); fill: var(--nk-link); width: 15px; font-size: 14px; }
body.nk-page .nk-ticks2 .elementor-icon-list-text { color: var(--nk-muted); font-size: 16.5px; line-height: 1.5; padding: 0 !important; }
body.nk-page .nk-pillw p { margin: 0; }
body.nk-page .nk-pillw span { display: inline-flex; font-size: 14px; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: #FFFFFF; color: var(--nk-ink); }
body.nk-page .nk-pillw { margin-top: auto !important; }

/* ---------- Features (icon above label) ---------- */
body.nk-page .nk-feat .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; }
body.nk-page .nk-feat .elementor-icon-box-icon { margin: 0 !important; }
body.nk-page .nk-feat .elementor-icon { width: 50px; height: 50px; border-radius: 50%; background: var(--nk-wash); color: var(--nk-link); fill: var(--nk-link); font-size: 20px; display: inline-flex; align-items: center; justify-content: center; padding: 0; box-shadow: inset 0 0 0 1.5px rgba(41, 125, 122, 0.3); }
body.nk-page .nk-feat .elementor-icon-box-title { margin: 0; font-family: var(--nk-sans); font-size: 15.5px; line-height: 1.4; color: var(--nk-ink); font-weight: 400; }

/* ---------- Booking band ---------- */
body.nk-page .nk-bookband { background: var(--nk-book); border-radius: var(--nk-r-card); overflow: hidden; --gap: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
body.nk-page .nk-bookband > .nk-bookband-copy { flex: 1 1 55%; --padding-top: 48px; --padding-right: 48px; --padding-bottom: 48px; --padding-left: 48px; --gap: 16px; justify-content: center; }
body.nk-page .nk-bookband .elementor-widget-text-editor, body.nk-page .nk-bookband .elementor-widget-text-editor p, body.nk-page .nk-bookband .nk-eyebrow p { color: var(--nk-ink); }
body.nk-page .nk-band-img { flex: 1 1 45%; position: relative; min-height: 300px; align-self: stretch; }
body.nk-page .nk-band-img img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; border-radius: 0; box-shadow: none; border: 0; max-width: none; }
body.nk-page .nk-band-img::before { content: ""; position: absolute; z-index: 1; inset: 0 auto 0 0; width: 38%; background: linear-gradient(90deg, var(--nk-book), rgba(160, 184, 164, 0)); }
@media (max-width: 1024px) { body.nk-page .nk-bookband > * { flex: 1 1 100% !important; } body.nk-page .nk-band-img::before { display: none; } }
@media (max-width: 767px) { body.nk-page .nk-bookband > .nk-bookband-copy { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 28px; --padding-left: 22px; } }

/* ---------- "In action" photo cards ---------- */
body.nk-page .nk-act { --gap: 12px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
body.nk-page .nk-act .elementor-widget-image img, body.nk-page .nk-act .nk-ph-slot { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: var(--nk-shadow); border: 0; min-height: 0; transition: transform 600ms var(--nk-ease-out); }
body.nk-page .nk-act .elementor-widget-image { overflow: hidden; border-radius: 18px; }
body.nk-page .nk-act h3 { font-size: 21px !important; }

/* ---------- Families carousel ---------- */
body.nk-page .nk-carousel { --gap: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
body.nk-page .nk-carousel.is-ready > .e-con-inner, body.nk-page .nk-carousel.is-ready { display: block !important; }
body.nk-page .nk-car-view { position: relative; overflow: hidden; padding: 14px 6px 30px; margin: 0 -6px; }
body.nk-page .nk-car-track { display: flex; gap: 24px; transform: translateX(calc(var(--nk-ci, 0) * -1 * (100% + 24px) / 3)); transition: transform 560ms var(--nk-ease-drawer); }
body.nk-page .nk-carousel .elementor-widget-image {
	flex: 0 0 calc((100% - 48px) / 3) !important; max-width: none !important; margin: 0 !important; box-sizing: border-box;
	background: #FFFFFF; padding: 12px 12px 16px; border-radius: 18px;
	box-shadow: 0 1px 2px rgba(31, 46, 42, 0.05), 0 18px 36px -22px rgba(31, 46, 42, 0.35);
	transform: rotate(var(--nk-r, 0deg));
}
body.nk-page .nk-carousel .elementor-widget-image:nth-child(3n+1) { --nk-r: -1.3deg; }
body.nk-page .nk-carousel .elementor-widget-image:nth-child(3n+2) { --nk-r: 0.9deg; }
body.nk-page .nk-carousel .elementor-widget-image:nth-child(3n) { --nk-r: -0.5deg; }
body.nk-page .nk-carousel figure { margin: 0; }
body.nk-page .nk-carousel img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
body.nk-page .nk-carousel figcaption, body.nk-page .nk-carousel .widget-image-caption { font-family: 'Caveat', cursive; font-size: 22px; color: var(--nk-ink); text-align: center; padding-top: 10px; margin: 0; }
body.nk-page .nk-car-ctrl { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 4px; }
body.nk-page .nk-car-ctrl .nk-arrows { display: flex; gap: 12px; }
body.nk-page .nk-car-ctrl .nk-arrow, body.nk-page .nk-car-pause { width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--nk-line); background: #FFFFFF; color: var(--nk-link); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
body.nk-page .nk-car-ctrl .nk-arrow[aria-disabled="true"] { opacity: 0.4; cursor: default; }
body.nk-page .nk-car-ctrl .nk-dot { background: #C9D6CA; }
body.nk-page .nk-car-ctrl .nk-dot-hit[aria-current="true"] .nk-dot { background: var(--nk-teal); }
body.nk-page.elementor-editor-active .nk-carousel > .e-con-inner, body.nk-page.elementor-editor-active .nk-carousel { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 767px) {
	body.nk-page .nk-car-view { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 24px; }
	body.nk-page .nk-car-view::-webkit-scrollbar { display: none; }
	body.nk-page .nk-car-track { transform: none !important; transition: none; }
	body.nk-page .nk-carousel .elementor-widget-image { flex-basis: 78% !important; scroll-snap-align: center; }
	body.nk-page .nk-car-ctrl .nk-arrows, body.nk-page .nk-car-ctrl .nk-dots, body.nk-page .nk-car-pause { display: none; }
}

/* ---------- Testimonials ---------- */
body.nk-page .nk-quote { border-radius: 16px; border: 0; }
body.nk-page .nk-quote-text p::before { content: "\201C"; display: block; font-family: var(--nk-serif); font-size: 54px; line-height: 0.6; height: 22px; color: #C9A27E; }
body.nk-page .nk-pill-sample { background: #F6EDD8; color: #8A6A4E; }
body.nk-page .nk-stars { color: #C9A27E; }

/* ---------- FAQ: two columns of rounded rows ---------- */
body.nk-page .nk-faq2.nk-acc { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; align-items: start; }
body.nk-page .nk-faq2.nk-acc > .e-con-inner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; align-items: start; }
body.nk-page .nk-faq2 .nk-acc-item { background: #FFFFFF; border: 1px solid var(--nk-line); border-radius: 12px; }
body.nk-page .nk-faq2 .nk-acc-btn { padding: 18px 20px; min-height: 56px; }
body.nk-page .nk-faq2 .nk-acc-btn .nk-acc-title > :first-child { font-family: var(--nk-sans); font-size: 17px; font-weight: 600; color: var(--nk-ink); }
body.nk-page .nk-faq2 .nk-acc-inner { padding: 0 20px; }
body.nk-page .nk-faq2 .nk-acc-panel.is-open .nk-acc-inner { padding-bottom: 18px; }
body.nk-page .nk-faq2 .nk-acc-chev { width: 30px; height: 30px; padding: 5px; box-sizing: border-box; border-radius: 50%; background: var(--nk-wash); stroke: var(--nk-link); }
@media (max-width: 767px) { body.nk-page .nk-faq2.nk-acc, body.nk-page .nk-faq2.nk-acc > .e-con-inner { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Tabs, filter, picker ---------- */
body.nk-page .nk-tab { min-height: 48px; font-size: 16.5px; font-weight: 600; border: 1.5px solid var(--nk-line); }
body.nk-page .nk-filter [class*="nk-cat-x-ray"] { background: var(--nk-olive); }
body.nk-page .nk-filter [class*="nk-cat-ultrasound"] { background: var(--nk-wash); }
body.nk-page .nk-filter [class*="nk-cat-pregnancy"] { background: var(--nk-sand); }
body.nk-page .nk-filter [class*="nk-cat-doppler"] { background: #FFFFFF; }
body.nk-page .nk-filter [class*="nk-cat-"] { border: 0; box-shadow: none; border-radius: var(--nk-r-card); }
body.nk-page .nk-pick.nk-card { border: 0; box-shadow: var(--nk-shadow); --padding-top: 36px; --padding-right: 36px; --padding-bottom: 36px; --padding-left: 36px; }
body.nk-page .nk-when { background: var(--nk-sand); border-radius: 16px; --padding-top: 24px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; --gap: 8px; align-self: flex-start; }
body.nk-page .nk-when .elementor-heading-title { color: var(--nk-ink) !important; font-size: clamp(26px, 2.4vw, 30px) !important; }
body.nk-page .nk-steps li { font-size: 18px; color: var(--nk-ink); }
body.nk-page .nk-steps li::before { background: var(--nk-wash); color: var(--nk-link); font-family: var(--nk-serif); width: 38px; height: 38px; font-size: 19px; }
body.nk-page .nk-stat { border: 0; }
body.nk-page .nk-stat .elementor-heading-title { color: var(--nk-ink) !important; }

/* ---------- Week guide on the new palette ---------- */
body.nk-page .nk-wk-box { background: #FFFFFF; box-shadow: var(--nk-shadow); }
body.nk-page .nk-wk-seg { background: var(--nk-wash); border-color: var(--nk-line); }
body.nk-page .nk-wk-range::-webkit-slider-runnable-track { background: linear-gradient(90deg, var(--nk-teal) 0 var(--p), #DCE7DC var(--p) 100%); }
body.nk-page .nk-wk-range::-moz-range-track { background: #DCE7DC; }
body.nk-page .nk-fruit-stage { background: radial-gradient(circle at 50% 60%, #FBF5E9 0%, #E8EFE8 70%); }
body.nk-page .nk-fruit-svg { transition: opacity 120ms var(--nk-ease-out); }
@starting-style { body.nk-page .nk-fruit-svg { opacity: 0; } }

/* ---------- Day steps ---------- */
body.nk-page .nk-day::before { border-top-color: #C5D3C6; }

/* ---------- Forms ---------- */
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-size: 18px; min-height: 54px; border: 1.5px solid #C5D3C6; border-radius: 12px; transition: border-color 160ms ease;
}
body.nk-page .nk-form input:focus, body.nk-page .nk-form select:focus, body.nk-page .nk-form textarea:focus { box-shadow: 0 0 0 4px rgba(41, 125, 122, 0.18); }
body.nk-page .nk-form label { font-size: 16px; font-weight: 600; }
body.nk-page .nk-form .wpcf7-response-output { background: var(--nk-wash); color: var(--nk-link); }

/* ---------- Footer: sage wave band ---------- */
body.nk-page .nk-footer { max-width: none; margin-top: var(--nk-sec); padding: 96px 24px 36px; position: relative; background: var(--nk-wash); }
body.nk-page .nk-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -69px; height: 70px; pointer-events: none; background: var(--nk-wash); transform: scaleX(-1);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 46C180 10 360 8 560 30s420 52 620 30 220-40 260-44V80H0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 46C180 10 360 8 560 30s420 52 620 30 220-40 260-44V80H0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
body.nk-page .nk-footer-card { max-width: 1152px; margin: 0 auto; background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; }
body.nk-page .nk-footer .nk-footer-title { font-family: var(--nk-sans); font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nk-muted); font-weight: 600; }
body.nk-page .nk-foot-ic { background: none; width: 22px; height: 22px; }
body.nk-page .nk-foot-ic svg { stroke: var(--nk-link); }
body.nk-page .nk-footer-social .nk-foot-ic { width: 40px; height: 40px; border-radius: 50%; background: #FFFFFF; border: 1.5px solid var(--nk-line); }
body.nk-page .nk-footer-map .nk-map { border-radius: 16px; }
body.nk-page .nk-footer-bottom { font-size: 14px; }
@media (max-width: 767px) { body.nk-page .nk-footer { padding: 72px 20px calc(110px + env(safe-area-inset-bottom)); } }

/* ---------- Phone bar on the new palette ---------- */
@media (max-width: 767px) { body.nk-page .nk-mbar a:active { background: var(--nk-wash); } }

/* ---------- Hover (real pointers only) ---------- */
@media (hover: hover) and (pointer: fine) {
	body.nk-page .nk-menu a:hover { color: var(--nk-link) !important; }
	body.nk-page .nk-phone:hover { background: var(--nk-wash); }
	body.nk-page .nk-btn-call .elementor-button:hover { background: var(--nk-wash); }
	body.nk-page .nk-link .elementor-button:hover .elementor-button-text::after { transform: translateX(3px); }
	body.nk-page .nk-svc { transition: transform 260ms var(--nk-ease-out); }
	body.nk-page .nk-svc:hover { transform: translateY(-3px); }
	body.nk-page .nk-act:hover img { transform: scale(1.04); }
	body.nk-page .nk-car-ctrl .nk-arrow:not([aria-disabled="true"]):hover, body.nk-page .nk-car-pause:hover { background: var(--nk-teal); color: #FFFFFF; border-color: var(--nk-teal); }
	body.nk-page .nk-tab:not([aria-pressed="true"]):not([aria-selected="true"]):hover { border-color: var(--nk-teal); background: #FFFFFF; color: var(--nk-link); }
	body.nk-page .nk-acc-btn:hover { color: var(--nk-link); }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	body.nk-page .nk-open .nk-dot-live::after { animation: none; }
	body.nk-page .nk-car-track { transition: transform 1ms; }
	body.nk-page .nk-hero2-copy > .elementor-element, body.nk-page .nk-blob-main img { animation: nk-fade 200ms ease both !important; }
	body.nk-page .nk-svc:hover, body.nk-page .nk-act:hover img, body.nk-page .nk-btn-call .elementor-button:active { transform: none; }
	body.nk-page .nk-fruit-svg { transition: none; }
}

/* ---------- Section heading rows: title left, short note right ---------- */
body.nk-page .nk-head-row { --gap: 16px 48px; margin-bottom: 40px; }
body.nk-page .nk-head-row > .e-con { --width: auto; width: auto; flex: 1 1 360px; }
body.nk-page .nk-head-row > .elementor-widget-text-editor { flex: 0 1 26em; max-width: 26em; }
body.nk-page .nk-head-row .nk-small p { font-size: 17px; color: var(--nk-muted); }
@media (max-width: 767px) { body.nk-page .nk-head-row { margin-bottom: 28px; } }

/* ---------- Map placeholder on the new palette ---------- */
body.nk-page .nk-map.nk-ph { background: linear-gradient(140deg, #DCE7DC 0%, #F1E9D6 100%); color: var(--nk-muted); }
body.nk-page .nk-act .nk-ph-slot { display: flex; flex-direction: column; }
