/*
=================================================================
NIKIPUBIT - - COMPLETE FRONTEND SKIN v2
Simple - Direct - Modern - Faster
=================================================================

ARCHITECTURE
style.css    = framework / structural foundation
frontend.css = visual design system

This file deliberately uses the existing Niki Core class contract.
Brand identity comes from the existing global variables:
--niki-primary / --niki-secondary / --niki-accent / --niki-background
--niki-text / --niki-heading / --niki-surface / --niki-muted / --niki-border

NikiCore-             -> Blue
NikiPubit-            -> Olive / natural green
Niki Quantum LIGHT-   -> Purple / magenta
HELIANS-              -> Sun / yellow
=================================================================
*/

/* ==============================================================
   01 - VISUAL DNA / TOKENS
============================================================== */

:root{
	/* Typography comes from Brand & Settings -> Typography */
	--niki-heading-font:Inter,sans-serif;
	--niki-body-font:Inter,sans-serif;
	/* NikiPubit- Skin - derived from the green + navy brand identity */
	--niki-primary:#08A85A;
	--niki-secondary:#8EDB00;
	--niki-accent:#5DCC35;
	--niki-background:#F8FBF8;
	--niki-surface:#FFFFFF;
	--niki-text:#172033;
	--niki-heading:#07152F;
	--niki-muted:#647168;
	--niki-border:#E1EAE3;

	--niki-ui-bg:var(--niki-background);
	--niki-ui-surface:var(--niki-surface);
	--niki-ui-text:var(--niki-text);
	--niki-ui-heading:var(--niki-heading);
	--niki-ui-muted:var(--niki-muted);
	--niki-ui-primary:var(--niki-primary);
	--niki-ui-secondary:var(--niki-secondary);
	--niki-ui-accent:var(--niki-accent);
	--niki-ui-border:var(--niki-border);

	--niki-ui-soft:color-mix(in srgb,var(--niki-ui-primary) 5%,white);
	--niki-ui-soft-accent:color-mix(in srgb,var(--niki-ui-accent) 5%,white);
	--niki-ui-soft-secondary:color-mix(in srgb,var(--niki-ui-secondary) 5%,white);
	--niki-ui-hairline:color-mix(in srgb,var(--niki-ui-text) 10%,white);
	--niki-ui-brand-line:color-mix(in srgb,var(--niki-ui-primary) 20%,white);

	--niki-ui-r-xs:8px;
	--niki-ui-r-sm:12px;
	--niki-ui-r-md:18px;
	--niki-ui-r-lg:26px;
	--niki-ui-r-xl:34px;

	--niki-ui-shadow-xs:0 4px 18px rgba(15,23,42,.035);
	--niki-ui-shadow-sm:0 12px 34px rgba(15,23,42,.055);
	--niki-ui-shadow-md:0 22px 58px rgba(15,23,42,.085);
	--niki-ui-shadow-brand:0 18px 48px color-mix(in srgb,var(--niki-ui-primary) 13%,transparent);

	--niki-ui-motion:cubic-bezier(.22,1,.36,1);
	--niki-ui-section:clamp(70px,8vw,116px);
}

/* ==============================================================
   02 - GLOBAL FRONTEND
============================================================== */

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:
		radial-gradient(circle at 94% 0%,color-mix(in srgb,var(--niki-ui-primary) 5%,transparent),transparent 32rem),
		var(--niki-ui-bg);
	color:var(--niki-ui-text);
	font-family:var(--niki-body-font,Inter,sans-serif);
	line-height:1.72;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

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

a{
	color:var(--niki-ui-primary);
	text-underline-offset:3px;
	transition:
		color .22s ease,
		background-color .22s ease,
		border-color .22s ease,
		transform .28s var(--niki-ui-motion),
		box-shadow .28s ease;
}

h1,h2,h3,h4,h5,h6{
	color:var(--niki-ui-heading);
	font-family:var(--niki-heading-font,Inter,sans-serif);
	text-wrap:balance;
}

.niki-container,
.niki-content-row .niki-container{
	width:min(calc(100% - clamp(36px,6vw,80px)),var(--niki-content-width,1100px));
	margin-inline:auto;
}

.niki-site-main{
	position:relative;
	overflow:hidden;
}

/* ==============================================================
   03 - HEADER / BRAND / MAIN MENU
============================================================== */

.niki-site-header{
	position:relative;
	z-index:100;
	padding:0;
	border-bottom:1px solid var(--niki-ui-hairline);
	background:rgba(255,255,255,.94);
	box-shadow:0 1px 0 rgba(15,23,42,.015);
}

.niki-site-header.is-sticky{
	position:sticky;
	top:0;
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
}

.admin-bar .niki-site-header.is-sticky{
	top:32px;
}

/* NikiCORE Flexible Header */
.niki-site-header.is-header-transparent,
.niki-site-header.is-header-transparent-solid-scroll{
	position:absolute;
	top:0;
	left:0;
	right:0;
	width:100%;
	background:transparent;
	border-bottom-color:transparent;
	box-shadow:none;
}
.admin-bar .niki-site-header.is-header-transparent,
.admin-bar .niki-site-header.is-header-transparent-solid-scroll{top:32px;}
.niki-site-header.is-header-transparent.is-sticky.is-scrolled,
.niki-site-header.is-header-transparent-solid-scroll.is-sticky.is-scrolled{
	position:fixed;
}
.niki-site-header.is-header-transparent-solid-scroll.is-scrolled{
	background:rgba(255,255,255,.96);
	border-bottom-color:var(--niki-ui-hairline);
	box-shadow:0 1px 0 rgba(15,23,42,.04);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
}

.niki-header-glow{
	position:absolute;
	inset:auto 0 0;
	height:1px;
	pointer-events:none;
	background:linear-gradient(
		90deg,
		transparent 8%,
		color-mix(in srgb,var(--niki-ui-primary) 18%,transparent),
		color-mix(in srgb,var(--niki-ui-accent) 14%,transparent),
		transparent 92%
	);
}

.niki-header-inner{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:clamp(22px,3vw,46px);
	min-height:92px;
}

.niki-header-column{
	display:flex;
	align-items:center;
	min-width:0;
}

.niki-header-brand-column{
	justify-content:flex-start;
}

.niki-header-menu-column{
	flex:1;
	justify-content:center;
}

.niki-header-actions-column{
	justify-content:flex-end;
	gap:12px;
}

.niki-site-brand{
	display:flex;
	align-items:center;
	color:var(--niki-ui-primary);
	text-decoration:none;
}

.niki-site-header .custom-logo{
	display:block;
	width:auto;
	max-width:min(var(--niki-logo-width,360px),100%);
	max-height:var(--niki-logo-height,95px);
	object-fit:contain;
	transition:transform .4s var(--niki-ui-motion);
}

.niki-site-brand:hover .custom-logo{
	transform:translateY(-1px);
}

.niki-brand-name{
	color:var(--niki-ui-heading);
	font-size:24px;
	font-weight:800;
	letter-spacing:-.035em;
}

.niki-brand-tagline{
	margin-top:3px;
	color:var(--niki-ui-muted);
	font-size:12px;
	font-weight:650;
}

/* Main menu */
.niki-main-nav{
	position:relative;
	margin:0;
}

.niki-nav-accent{
	position:absolute;
	left:50%;
	bottom:-18px;
	width:36px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--niki-ui-primary),var(--niki-ui-accent));
	opacity:.0;
	transform:translateX(-50%) scaleX(.4);
	transition:opacity .3s ease,transform .4s var(--niki-ui-motion);
}

.niki-main-nav:hover .niki-nav-accent{
	opacity:.55;
	transform:translateX(-50%) scaleX(1);
}

.niki-main-nav .niki-menu{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:4px clamp(18px,2vw,32px);
	margin:0;
	padding:0;
	list-style:none;
}

.niki-main-nav .niki-menu > li{
	position:relative;
	margin:0;
	padding:0;
}

.niki-main-nav .niki-menu > li > a{
	position:relative;
	display:inline-flex;
	align-items:center;
	min-height:46px;
	padding:0 1px;
	color:var(--niki-ui-text);
	font-size:14px;
	font-weight:680;
	line-height:1;
	text-decoration:none;
}

.niki-main-nav .niki-menu > li > a::after{
	content:"";
	position:absolute;
	left:50%;
	right:50%;
	bottom:5px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--niki-ui-primary),var(--niki-ui-accent));
	transition:left .35s var(--niki-ui-motion),right .35s var(--niki-ui-motion);
}

.niki-main-nav .niki-menu > li:hover > a,
.niki-main-nav .niki-menu > li.current-menu-item > a,
.niki-main-nav .niki-menu > li.current-menu-ancestor > a,
.niki-main-nav .niki-menu > li.current_page_item > a{
	color:var(--niki-ui-primary);
}

.niki-main-nav .niki-menu > li:hover > a::after,
.niki-main-nav .niki-menu > li.current-menu-item > a::after,
.niki-main-nav .niki-menu > li.current-menu-ancestor > a::after,
.niki-main-nav .niki-menu > li.current_page_item > a::after{
	left:0;
	right:0;
}

/* Dropdown / submenu */
.niki-main-nav .sub-menu{
	position:absolute;
	top:calc(100% + 8px);
	left:50%;
	z-index:130;
	min-width:230px;
	margin:0!important;
	padding:9px!important;
	list-style:none!important;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:rgba(255,255,255,.985);
	box-shadow:0 24px 70px rgba(20,35,75,.13);
	opacity:0;
	visibility:hidden;
	transform:translate(-50%,10px);
	transition:
		opacity .2s ease,
		visibility .2s ease,
		transform .3s var(--niki-ui-motion);
}

.niki-main-nav li:hover > .sub-menu,
.niki-main-nav li:focus-within > .sub-menu{
	opacity:1;
	visibility:visible;
	transform:translate(-50%,0);
}

.niki-main-nav .sub-menu li{
	position:relative;
	margin:0;
}

.niki-main-nav .sub-menu a{
	display:block!important;
	padding:11px 13px!important;
	border-radius:10px;
	color:var(--niki-ui-text)!important;
	font-size:13px;
	font-weight:650;
	line-height:1.35;
	text-decoration:none!important;
}

.niki-main-nav .sub-menu a:hover{
	background:var(--niki-ui-soft)!important;
	color:var(--niki-ui-primary)!important;
	transform:translateX(3px);
}

/* nested submenu */
.niki-main-nav .sub-menu .sub-menu{
	top:-9px;
	left:calc(100% + 10px);
	transform:translate(8px,0);
}

.niki-main-nav .sub-menu li:hover > .sub-menu,
.niki-main-nav .sub-menu li:focus-within > .sub-menu{
	transform:translate(0,0);
}

/* Secondary / actions */
.niki-secondary-nav .niki-secondary-menu{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:16px;
	margin:0;
	padding:0;
	list-style:none;
}

.niki-secondary-nav a{
	color:var(--niki-ui-muted)!important;
	font-size:12px;
	font-weight:650;
	text-decoration:none!important;
}

.niki-secondary-nav a:hover{
	color:var(--niki-ui-primary)!important;
}

.niki-header-actions-column .niki-component-login a,
.niki-header-actions-column .niki-cart-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:0 18px!important;
	border:1px solid color-mix(in srgb,var(--niki-ui-primary) 16%,var(--niki-ui-hairline))!important;
	border-radius:999px!important;
	background:linear-gradient(105deg,var(--niki-ui-primary),color-mix(in srgb,var(--niki-ui-primary) 70%,var(--niki-ui-accent)))!important;
	box-shadow:0 10px 28px color-mix(in srgb,var(--niki-ui-primary) 15%,transparent)!important;
	color:#fff!important;
	font-size:12px;
	font-weight:750;
	text-decoration:none!important;
}

.niki-header-actions-column .niki-component-login a:hover,
.niki-header-actions-column .niki-cart-link:hover{
	transform:translateY(-2px);
	box-shadow:0 15px 36px color-mix(in srgb,var(--niki-ui-primary) 22%,transparent)!important;
}

/* ==============================================================
   04 - SECOND HEADER / BREADCRUMBS
============================================================== */

.niki-second-header{
	margin:0;
	padding:0;
	border-bottom:1px solid var(--niki-ui-hairline);
	background:
		linear-gradient(
			105deg,
			color-mix(in srgb,var(--niki-ui-primary) 3%,white),
			color-mix(in srgb,var(--niki-ui-accent) 2%,white)
		);
}

.niki-second-header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	min-height:72px;
	padding-top:14px;
	padding-bottom:14px;
}

.niki-second-header-title{
	margin:0;
	color:var(--niki-ui-heading);
	font-size:clamp(20px,2.2vw,30px);
	font-weight:760;
	line-height:1.1;
	letter-spacing:-.04em;
}

.niki-breadcrumbs ol{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:7px;
	margin:0;
	padding:0;
	list-style:none;
}

.niki-breadcrumbs li{
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:var(--niki-ui-muted);
	font-size:12px;
	font-weight:600;
}

.niki-breadcrumbs li:not(:last-child)::after{
	content:"/";
	color:color-mix(in srgb,var(--niki-ui-muted) 42%,white);
}

.niki-breadcrumbs a{
	color:var(--niki-ui-muted);
	text-decoration:none;
}

.niki-breadcrumbs a:hover{
	color:var(--niki-ui-primary);
}

.niki-breadcrumbs [aria-current="page"]{
	color:var(--niki-ui-text);
}

/* ==============================================================
   05 - PAGE SHELL / LAYOUT / SIDEBARS
============================================================== */

.niki-page-content{
	padding:var(--niki-ui-section) 0;
}

.niki-page-content > :first-child{
	margin-top:0;
}

.niki-page-content > :last-child{
	margin-bottom:0;
}

.niki-page-content h1{
	font-size:clamp(42px,5vw,68px);
	line-height:1.02;
	letter-spacing:-.055em;
}

.niki-page-content h2{
	font-size:clamp(30px,4vw,48px);
	line-height:1.08;
	letter-spacing:-.04em;
}

.niki-page-content p{
	color:var(--niki-ui-text);
	font-size:17px;
	line-height:1.8;
}

.niki-layout-content-sidebar,
.niki-layout-sidebar-content{
	gap:clamp(34px,5vw,70px);
	align-items:start;
}

.niki-layout-content-sidebar .niki-component-menu,
.niki-layout-sidebar-content .niki-component-menu,
.niki-page-menu-block{
	padding:24px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:rgba(255,255,255,.84);
	box-shadow:var(--niki-ui-shadow-xs);
	backdrop-filter:blur(10px);
}

.niki-page-menu-title{
	margin:0 0 14px;
	color:var(--niki-ui-heading);
	font-size:14px;
	font-weight:800;
	letter-spacing:.02em;
}

.niki-page-menu-block .niki-component-menu-list{
	display:flex;
	flex-direction:column;
	gap:5px;
	margin:0;
	padding:0;
	list-style:none;
}

.niki-page-menu-block .niki-component-menu-list a{
	display:block;
	padding:10px 11px;
	border-radius:9px;
	color:var(--niki-ui-text);
	font-size:13px;
	font-weight:620;
	text-decoration:none;
}

.niki-page-menu-block .niki-component-menu-list a:hover{
	background:var(--niki-ui-soft);
	color:var(--niki-ui-primary);
	transform:translateX(2px);
}

/* ==============================================================
   06 - BUILDER: SECTIONS / ROWS / COLUMNS
============================================================== */

.niki-builder-page{
	position:relative;
	overflow:hidden;
	background:transparent;
}

.niki-section{
	position:relative;
	padding-block:var(--niki-ui-section);
	background:transparent;
}

.niki-section:nth-of-type(even){
	background:
		linear-gradient(
			125deg,
			color-mix(in srgb,var(--niki-ui-primary) 2.3%,white),
			color-mix(in srgb,var(--niki-ui-accent) 1.6%,white)
		);
}

.niki-content-row{
	position:relative;
	background:transparent;
}

.niki-content-row-grid{
	align-items:center;
}

.niki-content-row:not(.niki-column-gap-small):not(.niki-column-gap-normal):not(.niki-column-gap-large) .niki-content-row-grid{
	gap:clamp(30px,5vw,60px)!important;
}

.niki-content-column{
	min-width:0;
}

.niki-content-column h1,
.niki-content-column h2,
.niki-content-column h3,
.niki-text-block h1,
.niki-text-block h2,
.niki-text-block h3{
	margin-top:0;
	color:var(--niki-ui-heading);
	font-weight:740;
	letter-spacing:-.045em;
}

.niki-content-column h1,
.niki-text-block h1{
	font-size:clamp(44px,6vw,78px);
	line-height:1;
}

.niki-content-column h2,
.niki-text-block h2{
	font-size:clamp(32px,4.2vw,52px);
	line-height:1.06;
}

.niki-content-column h3,
.niki-text-block h3{
	font-size:clamp(23px,2.7vw,32px);
	line-height:1.15;
}

.niki-rich-text,
.niki-content-column .niki-rich-text{
	color:var(--niki-ui-text);
	font-size:17px;
	line-height:1.82;
}

.niki-rich-text p{
	margin:0 0 1.25em;
}

.niki-rich-text p:last-child{
	margin-bottom:0;
}

.niki-rich-text a{
	color:var(--niki-ui-primary);
}

/* ==============================================================
   07 - BUILDER: IMAGES / GALLERY / LIGHTBOX
============================================================== */

.niki-content-column.is-image img{
	display:block;
	width:auto;
	max-width:100%;
	height:auto;
	transition:transform .45s var(--niki-ui-motion),box-shadow .35s ease;
}

/* Builder image sizing is structural and lives in style.css.
   The skin must not impose fixed thumbnail/medium/large width caps. */
.niki-content-column.is-image img.size-thumbnail,
.niki-content-column.is-image img.size-medium,
.niki-content-column.is-image img.size-large,
.niki-content-column.is-image img.size-full{
	width:auto;
	max-width:100%;
	height:auto;
	object-fit:contain;
}

/* Builder image alignment. Supports both current page-builder and
   shared component-renderer class contracts. */
.niki-content-column.is-image.align-left img,
.niki-content-column.is-image.is-align-left img,
.niki-component-image.is-align-left img{
	margin-left:0;
	margin-right:auto;
}

.niki-content-column.is-image.align-center img,
.niki-content-column.is-image.is-align-center img,
.niki-component-image.is-align-center img{
	margin-left:auto;
	margin-right:auto;
}

.niki-content-column.is-image.align-right img,
.niki-content-column.is-image.is-align-right img,
.niki-component-image.is-align-right img{
	margin-left:auto;
	margin-right:0;
}

.niki-content-column.is-image .niki-image-style-soft-radius,
.niki-content-column.is-image .niki-image-style-soft-radius img{
	border-radius:var(--niki-ui-r-md);
}

.niki-content-column.is-image .niki-image-style-rounded,
.niki-content-column.is-image .niki-image-style-rounded img{
	border-radius:var(--niki-ui-r-xl);
}

.niki-content-column.is-image .niki-image-style-frame{
	padding:7px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-sm);
}

.niki-content-column.is-image .niki-image-style-frame img{
	border-radius:12px;
}

.niki-content-column.is-image:hover img{
	transform:translateY(-2px);
}

.niki-gallery-component{
	display:grid;
	width:100%;
	align-items:stretch;
}

.niki-gallery-component.niki-gallery-cols-1{grid-template-columns:minmax(0,1fr);}
.niki-gallery-component.niki-gallery-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.niki-gallery-component.niki-gallery-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.niki-gallery-component.niki-gallery-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}

.niki-gallery-component.niki-gallery-gap-small{gap:8px;}
.niki-gallery-component.niki-gallery-gap-normal{gap:18px;}
.niki-gallery-component.niki-gallery-gap-large{gap:30px;}

.niki-gallery-component .niki-gallery-item{
	margin:0;
	overflow:visible;
}

.niki-gallery-component .niki-gallery-item > a{
	display:block;
	width:100%;
	height:auto;
	cursor:zoom-in;
}

.niki-gallery-component .niki-gallery-item img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:auto;
	object-fit:contain;
	box-shadow:none;
	transition:transform .45s var(--niki-ui-motion),filter .3s ease;
}

.niki-gallery-component .niki-gallery-item:hover img{
	transform:scale(1.025);
}

.niki-gallery-component.niki-gallery-style-none .niki-gallery-item,
.niki-gallery-component.niki-gallery-style-none img{border-radius:0;}

.niki-gallery-component.niki-gallery-style-soft-radius .niki-gallery-item,
.niki-gallery-component.niki-gallery-style-soft-radius img{border-radius:14px;}

.niki-gallery-component.niki-gallery-style-rounded .niki-gallery-item,
.niki-gallery-component.niki-gallery-style-rounded img{border-radius:28px;}

.niki-gallery-component.niki-gallery-style-frame .niki-gallery-item{
	padding:6px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:16px;
	background:#fff;
	box-shadow:var(--niki-ui-shadow-xs);
}

.niki-gallery-component.niki-gallery-style-frame img{
	border-radius:10px;
}

/* Lightbox */
.niki-lightbox{
	position:fixed;
	inset:0;
	z-index:99999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:28px;
	background:rgba(8,15,30,.9);
	backdrop-filter:blur(12px);
	box-sizing:border-box;
}

.niki-lightbox.is-active{
	display:flex;
	animation:nikiFadeIn .25s ease both;
}

body.niki-lightbox-open{
	overflow:hidden;
}

.niki-lightbox-image{
	display:block;
	width:auto;
	max-width:min(100%,1100px);
	max-height:82vh;
	object-fit:contain;
	border-radius:18px;
	background:#fff;
	box-shadow:0 30px 100px rgba(0,0,0,.28);
}

.niki-lightbox-close,
.niki-lightbox-prev,
.niki-lightbox-next{
	position:absolute;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border:1px solid rgba(255,255,255,.25);
	border-radius:999px;
	background:rgba(255,255,255,.95);
	color:#111827;
	font-size:22px;
	font-weight:800;
	cursor:pointer;
	box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.niki-lightbox-close{top:22px;right:22px;}
.niki-lightbox-prev{left:22px;top:50%;transform:translateY(-50%);}
.niki-lightbox-next{right:22px;top:50%;transform:translateY(-50%);}

.niki-lightbox-close:hover{transform:rotate(5deg) scale(1.04);}
.niki-lightbox-prev:hover{transform:translateY(-50%) translateX(-2px);}
.niki-lightbox-next:hover{transform:translateY(-50%) translateX(2px);}

/* ==============================================================
   08 - BUTTONS / LINKS
============================================================== */

.niki-button,
.niki-button-component,
.niki-content-column.is-button a,
.niki-form-component input[type="submit"],
.niki-form-component button,
.niki-form-component .wpcf7-submit,
.niki-coming-button,
.niki-404-home,
.niki-404-search input[type="submit"],
.niki-search-empty input[type="submit"]{
	position:relative;
	overflow:hidden;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:0 24px;
	border:0;
	border-radius:12px;
	background:linear-gradient(105deg,var(--niki-ui-primary),color-mix(in srgb,var(--niki-ui-primary) 68%,var(--niki-ui-accent)));
	box-shadow:0 12px 30px color-mix(in srgb,var(--niki-ui-primary) 15%,transparent);
	color:#fff;
	font-size:14px;
	font-weight:750;
	line-height:1;
	text-decoration:none;
	cursor:pointer;
	transition:transform .3s var(--niki-ui-motion),box-shadow .3s ease,filter .25s ease;
}

.niki-button:hover,
.niki-button-component:hover,
.niki-content-column.is-button a:hover,
.niki-form-component input[type="submit"]:hover,
.niki-form-component button:hover,
.niki-form-component .wpcf7-submit:hover,
.niki-coming-button:hover,
.niki-404-home:hover,
.niki-404-search input[type="submit"]:hover,
.niki-search-empty input[type="submit"]:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 40px color-mix(in srgb,var(--niki-ui-primary) 22%,transparent);
	filter:saturate(1.06);
	color:#fff;
}

/* light sweep */
.niki-button::after,
.niki-button-component::after,
.niki-content-column.is-button a::after,
.niki-coming-button::after{
	content:"";
	position:absolute;
	top:-60%;
	bottom:-60%;
	left:-42%;
	width:24%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
	transform:skewX(-18deg);
	opacity:0;
	pointer-events:none;
}

.niki-button:hover::after,
.niki-button-component:hover::after,
.niki-content-column.is-button a:hover::after,
.niki-coming-button:hover::after{
	animation:nikiLightSweep .72s var(--niki-ui-motion) 1;
}

/* ==============================================================
   09 - FORMS
============================================================== */

.niki-form-component{
	max-width:760px;
	padding:clamp(24px,4vw,38px);
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-lg);
	background:rgba(255,255,255,.9);
	box-shadow:var(--niki-ui-shadow-sm);
}

.niki-form-component label{
	display:block;
	margin-bottom:7px;
	color:var(--niki-ui-heading);
	font-size:13px;
	font-weight:720;
}

.niki-form-component input[type="text"],
.niki-form-component input[type="email"],
.niki-form-component input[type="url"],
.niki-form-component input[type="tel"],
.niki-form-component input[type="number"],
.niki-form-component input[type="date"],
.niki-form-component input[type="password"],
.niki-form-component textarea,
.niki-form-component select,
.niki-component-search input[type="search"],
.niki-404-search input[type="search"],
.niki-search-empty input[type="search"]{
	width:100%;
	min-height:50px;
	padding:11px 15px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:12px;
	background:#fff;
	color:var(--niki-ui-text);
	font:inherit;
	outline:none;
	box-shadow:0 1px 0 rgba(15,23,42,.02);
	transition:border-color .22s ease,box-shadow .22s ease,transform .22s var(--niki-ui-motion);
}

.niki-form-component textarea{
	min-height:150px;
	resize:vertical;
}

.niki-form-component input:focus,
.niki-form-component textarea:focus,
.niki-form-component select:focus,
.niki-component-search input[type="search"]:focus,
.niki-404-search input[type="search"]:focus,
.niki-search-empty input[type="search"]:focus{
	border-color:var(--niki-ui-primary);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--niki-ui-primary) 9%,transparent);
}

.niki-form-component .wpcf7-not-valid-tip{
	margin-top:6px;
	font-size:12px;
	color:#dc2626;
}

.niki-form-component .wpcf7-response-output{
	margin:18px 0 0!important;
	padding:14px 16px!important;
	border-radius:12px;
	font-size:13px;
}

/* ==============================================================
   10 - BUILDER MENU / DIVIDER / CALLOUT / SHORTCODE
============================================================== */

.niki-menu-component{
	width:100%;
}

.niki-menu-component-list{
	display:flex;
	flex-wrap:wrap;
	gap:var(--niki-menu-gap,10px);
	margin:0;
	padding:0;
	list-style:none;
}

.niki-menu-component.is-vertical .niki-menu-component-list{
	flex-direction:column;
	align-items:flex-start;
}

.niki-menu-component.align-center .niki-menu-component-list{justify-content:center;}
.niki-menu-component.align-right .niki-menu-component-list{justify-content:flex-end;}

.niki-menu-component-list a{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:0 13px;
	border-radius:9px;
	color:var(--niki-ui-text);
	font-size:13px;
	font-weight:650;
	text-decoration:none;
}

.niki-menu-component-list a:hover{
	background:var(--niki-ui-soft);
	color:var(--niki-ui-primary);
	transform:translateY(-1px);
}

.niki-menu-component.is-pills .niki-menu-component-list a{
	border:1px solid var(--niki-ui-hairline);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-xs);
}

.niki-menu-component.is-pills .niki-menu-component-list a:hover{
	border-color:var(--niki-ui-brand-line);
}

.niki-divider-component,
.niki-content-column.is-divider hr{
	width:100%;
	height:1px;
	border:0;
	background:linear-gradient(90deg,transparent,var(--niki-ui-brand-line),transparent);
}

/* Callout: one visual surface only.
   If the builder outputs an inner .niki-callout, style the inner element.
   If it outputs only the column, style the column itself. */
.niki-content-column.is-callout:has(> .niki-callout){
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
	overflow:visible;
}

.niki-content-column.is-callout > .niki-callout,
.niki-content-column.is-callout:not(:has(> .niki-callout)){
	position:relative;
	overflow:hidden;
	padding:clamp(24px,4vw,38px);
	border:1px solid var(--niki-ui-brand-line);
	border-radius:var(--niki-ui-r-lg);
	background:linear-gradient(140deg,#fff,var(--niki-ui-soft));
	box-shadow:var(--niki-ui-shadow-sm);
}

.niki-content-column.is-callout > .niki-callout::before,
.niki-content-column.is-callout:not(:has(> .niki-callout))::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:linear-gradient(90deg,var(--niki-ui-primary),var(--niki-ui-accent));
}

.niki-content-column.is-shortcode table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:#fff;
}

.niki-content-column.is-shortcode th,
.niki-content-column.is-shortcode td{
	padding:13px 15px;
	border-bottom:1px solid var(--niki-ui-hairline);
	text-align:left;
}

.niki-content-column.is-shortcode th{
	background:var(--niki-ui-soft);
	color:var(--niki-ui-heading);
}

/* ==============================================================
   11 - BLOG / NEWS ARCHIVE
============================================================== */

.niki-blog-archive{
	position:relative;
	padding:0 0 clamp(74px,9vw,120px);
	background:transparent;
}

/* full-width hero while preserving current markup */
.niki-blog-header{
	position:relative;
	max-width:none;
	margin:0 calc(50% - 50vw) 0;
	padding:
		clamp(76px,9vw,124px)
		max(24px,calc((100vw - min(var(--niki-content-width,1100px),calc(100vw - 48px)))/2))
		clamp(68px,8vw,106px);
	text-align:left;
	border-bottom:1px solid var(--niki-ui-hairline);
	background:
		radial-gradient(circle at 82% 30%,color-mix(in srgb,var(--niki-ui-primary) 12%,transparent),transparent 28rem),
		radial-gradient(circle at 66% 110%,color-mix(in srgb,var(--niki-ui-accent) 8%,transparent),transparent 24rem),
		linear-gradient(115deg,#fff,color-mix(in srgb,var(--niki-ui-primary) 3%,white));
}

.niki-blog-header::before{
	content:"";
	position:absolute;
	left:max(24px,calc((100vw - min(var(--niki-content-width,1100px),calc(100vw - 48px)))/2));
	top:0;
	width:58px;
	height:3px;
	border-radius:0 0 4px 4px;
	background:linear-gradient(90deg,var(--niki-ui-primary),var(--niki-ui-accent));
}

.niki-blog-kicker{
	display:inline-flex;
	align-items:center;
	min-height:28px;
	margin:0 0 22px;
	padding:0 11px;
	border:1px solid var(--niki-ui-brand-line);
	border-radius:8px;
	background:rgba(255,255,255,.68);
	color:var(--niki-ui-primary);
	font-size:11px;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.niki-blog-title{
	max-width:900px;
	margin:0;
	color:var(--niki-ui-heading);
	font-size:clamp(50px,6.4vw,86px);
	font-weight:770;
	line-height:.98;
	letter-spacing:-.065em;
}

.niki-blog-subtitle{
	max-width:720px;
	margin:24px 0 0;
	color:var(--niki-ui-muted);
	font-size:clamp(17px,1.6vw,20px);
	line-height:1.65;
}

.niki-blog-filters{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin:36px 0 38px;
	padding:0;
}

.niki-blog-filter{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:0 15px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:9px;
	background:#fff;
	box-shadow:var(--niki-ui-shadow-xs);
	color:var(--niki-ui-muted);
	font-size:12px;
	font-weight:700;
	text-decoration:none;
}

.niki-blog-filter:hover{
	border-color:var(--niki-ui-brand-line);
	background:var(--niki-ui-soft);
	color:var(--niki-ui-primary);
	transform:translateY(-1px);
}

.niki-blog-filter.is-active{
	border-color:var(--niki-ui-primary);
	background:var(--niki-ui-primary);
	color:#fff;
	box-shadow:0 8px 22px color-mix(in srgb,var(--niki-ui-primary) 18%,transparent);
}

.niki-blog-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
	align-items:stretch;
}

.niki-blog-card{
	position:relative;
	display:flex;
	flex-direction:column;
	min-width:0;
	overflow:hidden;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-sm);
	transition:transform .38s var(--niki-ui-motion),box-shadow .38s ease,border-color .28s ease;
}

.niki-blog-card:hover{
	transform:translateY(-5px);
	border-color:var(--niki-ui-brand-line);
	box-shadow:var(--niki-ui-shadow-md);
}

.niki-blog-card-image{
	position:relative;
	display:block;
	overflow:hidden;
	aspect-ratio:16/10;
	background:linear-gradient(135deg,var(--niki-ui-soft),var(--niki-ui-soft-accent));
}

.niki-blog-card-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .55s var(--niki-ui-motion);
}

.niki-blog-card:hover .niki-blog-card-image img{
	transform:scale(1.035);
}

.niki-blog-card-body{
	display:flex;
	flex:1;
	flex-direction:column;
	align-items:flex-start;
	padding:25px;
}

.niki-blog-card:not(:has(.niki-blog-card-image)) .niki-blog-card-body{
	min-height:250px;
	background:linear-gradient(145deg,#fff,var(--niki-ui-soft));
}

.niki-blog-card-meta{
	display:flex;
	flex-wrap:wrap;
	gap:6px 10px;
	margin:0 0 14px;
	color:var(--niki-ui-muted);
	font-size:10px;
	font-weight:760;
	letter-spacing:.075em;
	line-height:1.5;
	text-transform:uppercase;
}

.niki-blog-card-meta span{
	display:inline-flex;
	align-items:center;
}

.niki-blog-card-meta span:not(:last-child)::after{
	content:"";
	margin-left:10px;
	color:var(--niki-ui-brand-line);
}

.niki-blog-card-title{
	margin:0;
	color:var(--niki-ui-heading);
	font-size:clamp(22px,2vw,29px);
	font-weight:730;
	line-height:1.13;
	letter-spacing:-.035em;
}

.niki-blog-card-title a{
	color:inherit;
	text-decoration:none;
}

.niki-blog-card-title a:hover{
	color:var(--niki-ui-primary);
}

.niki-blog-card-subtitle{
	margin:12px 0 0;
	color:var(--niki-ui-text);
	font-size:15px;
	font-weight:650;
	line-height:1.5;
}

.niki-blog-card-excerpt{
	margin:13px 0 0;
	color:var(--niki-ui-muted);
	font-size:14px;
	line-height:1.68;
}

.niki-blog-card-excerpt p{margin:0;}

.niki-blog-read-more{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:auto;
	padding-top:22px;
	color:var(--niki-ui-primary);
	font-size:12px;
	font-weight:760;
	line-height:1;
	text-decoration:none;
}

.niki-blog-read-more::after{
	content:"";
	display:none;
}

.niki-blog-read-more:hover{
	color:var(--niki-ui-accent);
}

.niki-blog-read-more:hover::after{
	transform:translateX(4px);
}

.niki-blog-pagination{
	margin-top:48px;
	text-align:center;
}

.niki-blog-pagination .nav-links{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:7px;
}

.niki-blog-pagination a,
.niki-blog-pagination span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:38px;
	height:38px;
	padding:0 11px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:9px;
	background:#fff;
	color:var(--niki-ui-text);
	font-size:12px;
	font-weight:700;
	text-decoration:none;
}

.niki-blog-pagination a:hover{
	border-color:var(--niki-ui-brand-line);
	background:var(--niki-ui-soft);
	color:var(--niki-ui-primary);
	transform:translateY(-1px);
}

.niki-blog-pagination .current{
	border-color:var(--niki-ui-primary);
	background:var(--niki-ui-primary);
	color:#fff;
}

.niki-blog-empty{
	max-width:720px;
	margin:50px auto 0;
	padding:48px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-lg);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-sm);
	text-align:center;
}

/* ==============================================================
   12 - SINGLE NEWS / POST
============================================================== */

.niki-single-news{
	position:relative;
	padding:clamp(72px,8vw,112px) 0;
	background:transparent;
}

.niki-news-header{
	max-width:900px;
	margin:0 auto 48px;
	text-align:center;
}

.niki-news-meta{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px 12px;
	margin-bottom:20px;
	color:var(--niki-ui-muted);
	font-size:11px;
	font-weight:750;
	letter-spacing:.075em;
	text-transform:uppercase;
}

.niki-news-meta a{
	color:var(--niki-ui-primary);
	text-decoration:none;
}

.niki-news-title{
	margin:0;
	color:var(--niki-ui-heading);
	font-size:clamp(46px,6vw,78px);
	font-weight:770;
	line-height:1;
	letter-spacing:-.06em;
}

.niki-news-subtitle{
	max-width:760px;
	margin:24px auto 0;
	color:var(--niki-ui-muted);
	font-size:clamp(18px,2vw,22px);
	line-height:1.55;
}

.niki-news-featured-image{
	max-width:1040px;
	margin:0 auto 52px;
	overflow:hidden;
	border-radius:var(--niki-ui-r-lg);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-md);
}

.niki-news-featured-image img{
	display:block;
	width:100%;
	height:auto;
}

.niki-news-featured-image a{
	display:block;
	cursor:zoom-in;
}

.niki-news-body{
	max-width:820px;
	margin:0 auto;
	color:var(--niki-ui-text);
	font-size:18px;
	line-height:1.88;
}

.niki-news-intro{
	margin-bottom:34px;
	color:var(--niki-ui-heading);
	font-size:21px;
	line-height:1.7;
	font-weight:600;
}

.niki-news-content p{
	margin:0 0 25px;
}

.niki-news-content h2{
	margin:54px 0 18px;
	font-size:clamp(28px,3.4vw,42px);
	line-height:1.1;
	letter-spacing:-.035em;
}

.niki-news-content h3{
	margin:40px 0 15px;
	font-size:clamp(22px,2.7vw,31px);
	line-height:1.15;
}

.niki-news-content a{
	color:var(--niki-ui-primary);
}

.niki-news-quote{
	position:relative;
	margin:46px 0;
	padding:30px 34px;
	border:0;
	border-left:3px solid var(--niki-ui-primary);
	border-radius:0 var(--niki-ui-r-md) var(--niki-ui-r-md) 0;
	background:linear-gradient(110deg,var(--niki-ui-soft),rgba(255,255,255,.7));
	color:var(--niki-ui-heading);
	font-size:22px;
	line-height:1.62;
	font-weight:650;
}

.niki-news-button{
	margin-top:24px;
}

/* News image grid */
.niki-news-image-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	margin:46px 0;
}

.niki-news-image-item{
	margin:0;
	overflow:hidden;
	border-radius:var(--niki-ui-r-md);
	background:var(--niki-ui-soft);
}

.niki-news-image-item a{
	display:block;
	cursor:zoom-in;
}

.niki-news-image-item img{
	display:block;
	width:100%;
	height:240px;
	object-fit:cover;
	transition:transform .45s var(--niki-ui-motion);
}

.niki-news-image-item:hover img{
	transform:scale(1.03);
}

/* Previous / Next - intentionally NOT cards */
.niki-news-nav{
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	gap:30px!important;
	max-width:980px!important;
	margin:58px auto 0!important;
	padding-top:30px;
	border-top:1px solid var(--niki-ui-hairline);
}

.niki-news-nav-item{
	flex:1!important;
	min-width:0!important;
}

.niki-news-nav-item.is-next{
	text-align:right!important;
}

.niki-news-nav-item a{
	display:inline-block!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--niki-ui-heading)!important;
	text-decoration:none!important;
}

.niki-news-nav-item span{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	margin-bottom:6px!important;
	color:var(--niki-ui-muted)!important;
	font-size:10px!important;
	font-weight:780!important;
	letter-spacing:.09em!important;
	text-transform:uppercase!important;
}

.niki-news-nav-item.is-next span{
	justify-content:flex-end!important;
}

.niki-news-nav-item:not(.is-next) span::before{
	content:""!important;
	width:7px;
	height:7px;
	border-left:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
}

.niki-news-nav-item.is-next span::after{
	content:""!important;
	width:7px;
	height:7px;
	border-right:2px solid currentColor;
	border-top:2px solid currentColor;
	transform:rotate(45deg);
}

.niki-news-nav-item strong{
	display:block!important;
	color:var(--niki-ui-heading)!important;
	font-size:18px!important;
	font-weight:720!important;
	line-height:1.3!important;
	transition:color .2s ease;
}

.niki-news-nav-item a:hover{
	background:transparent!important;
	box-shadow:none!important;
	transform:none!important;
}

.niki-news-nav-item a:hover strong{
	color:var(--niki-ui-primary)!important;
}

/* Similar news */
.niki-similar-news{
	max-width:1100px;
	margin:86px auto 0;
}

.niki-similar-news > h2{
	margin:0 0 32px;
	color:var(--niki-ui-heading);
	font-size:clamp(30px,4vw,44px);
	font-weight:740;
	line-height:1.08;
	letter-spacing:-.04em;
	text-align:left;
}

.niki-similar-news-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}

.niki-similar-news-card{
	overflow:hidden;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-md);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-sm);
	transition:transform .35s var(--niki-ui-motion),box-shadow .35s ease;
}

.niki-similar-news-card:hover{
	transform:translateY(-4px);
	box-shadow:var(--niki-ui-shadow-md);
}

.niki-similar-news-image{
	display:block;
	overflow:hidden;
	background:var(--niki-ui-soft);
}

.niki-similar-news-image img{
	display:block;
	width:100%;
	height:190px;
	object-fit:cover;
	transition:transform .45s var(--niki-ui-motion);
}

.niki-similar-news-card:hover .niki-similar-news-image img{
	transform:scale(1.03);
}

.niki-similar-news-body{
	padding:22px;
}

.niki-similar-news-date{
	margin:0 0 8px;
	color:var(--niki-ui-muted);
	font-size:10px;
	font-weight:750;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.niki-similar-news-body h3{
	margin:0;
	color:var(--niki-ui-heading);
	font-size:20px;
	font-weight:720;
	line-height:1.25;
}

.niki-similar-news-body h3 a{
	color:inherit;
	text-decoration:none;
}

.niki-similar-news-body h3 a:hover{
	color:var(--niki-ui-primary);
}

.niki-similar-news-body p{
	margin:11px 0 0;
	color:var(--niki-ui-muted);
	font-size:14px;
	line-height:1.6;
}

/* ==============================================================
   13 - AUTHOR
============================================================== */

.niki-author-page{
	background:transparent;
}

.niki-author-profile{
	gap:30px;
	max-width:960px;
	margin:0 auto 70px;
	padding:0 0 44px;
	border-bottom:1px solid var(--niki-ui-hairline);
}

.niki-author-avatar-image{
	border-radius:20px;
	box-shadow:var(--niki-ui-shadow-sm);
}

.niki-author-name{
	margin:0;
	font-size:clamp(34px,4vw,48px);
	font-weight:740;
	line-height:1.05;
	letter-spacing:-.035em;
}

.niki-author-bio{
	margin-top:14px;
	color:var(--niki-ui-muted);
	font-size:16px;
	line-height:1.7;
}

.niki-author-website{margin-top:12px;}
.niki-author-posts > h2{font-size:clamp(28px,4vw,42px);text-align:center;}
.niki-author-posts-grid{gap:28px;}

/* ==============================================================
   14 - COMING SOON
============================================================== */

.niki-coming{
	width:100%;
	text-align:center;
	background:
		radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--niki-ui-primary) 10%,transparent),transparent 26rem);
}

.niki-coming-inner{
	max-width:1200px;
	margin:auto;
	padding:clamp(76px,10vw,130px) 30px;
}

.niki-coming-logo{
	color:var(--niki-ui-heading);
	font-size:clamp(48px,7vw,78px);
	font-weight:770;
	line-height:1;
	letter-spacing:-.055em;
}

.niki-coming-sub{
	margin-top:18px;
	color:var(--niki-ui-muted);
	font-size:clamp(24px,3vw,34px);
	line-height:1.2;
}

.niki-coming-text{
	max-width:720px;
	margin:34px auto;
	color:var(--niki-ui-text);
	font-size:18px;
	line-height:1.8;
}

.niki-coming-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:30px;
	margin-top:80px;
}

.niki-coming-card{
	position:relative;
	padding:26px 12px;
	border:0;
	border-top:1px solid var(--niki-ui-hairline);
	border-radius:0;
	background:transparent;
	box-shadow:none;
	transition:transform .35s var(--niki-ui-motion),border-color .3s ease;
}

.niki-coming-card:hover{
	transform:translateY(-4px);
	border-color:var(--niki-ui-primary);
}

.niki-coming-card-icon{
	margin-bottom:12px;
	color:var(--niki-ui-primary);
	font-size:11px;
	font-weight:780;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.niki-coming-card h3{
	margin:0;
	color:var(--niki-ui-heading);
	font-size:20px;
}

.niki-coming-footer{
	margin-top:90px;
	color:var(--niki-ui-muted);
	line-height:1.8;
}

/* ==============================================================
   15 - SEARCH / 404
============================================================== */

.niki-404-page{
	min-height:65vh;
	padding:clamp(76px,10vw,126px) 20px;
	background:
		radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--niki-ui-primary) 8%,transparent),transparent 25rem);
	text-align:center;
}

.niki-404-content{
	max-width:760px;
	margin:auto;
}

.niki-404-code{
	margin:0;
	background:linear-gradient(110deg,var(--niki-ui-primary),var(--niki-ui-accent));
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	font-size:clamp(90px,14vw,170px);
	font-weight:780;
	line-height:.9;
	letter-spacing:-.07em;
}

.niki-404-title,
.niki-search-empty h2{
	margin:26px 0 0;
	color:var(--niki-ui-heading);
	font-size:clamp(34px,5vw,56px);
	font-weight:740;
	line-height:1.05;
	letter-spacing:-.04em;
}

.niki-404-text,
.niki-search-empty p{
	max-width:560px;
	margin:18px auto 0;
	color:var(--niki-ui-muted);
	font-size:17px;
	line-height:1.7;
}

.niki-404-actions{margin-top:30px;}
.niki-404-search{max-width:520px;margin:34px auto 0;}

.niki-404-search form,
.niki-search-empty form{
	display:flex;
	gap:10px;
}

.niki-search-empty{
	max-width:720px;
	margin:70px auto 100px;
	padding:48px;
	border:1px solid var(--niki-ui-hairline);
	border-radius:var(--niki-ui-r-lg);
	background:#fff;
	box-shadow:var(--niki-ui-shadow-sm);
	text-align:center;
}

/* ==============================================================
   16 - FOOTER
============================================================== */

.niki-site-footer{
	position:relative;
	padding:58px 0;
	border-top:1px solid var(--niki-ui-hairline);
	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.94),
			color-mix(in srgb,var(--niki-ui-primary) 3%,white)
		);
}

.niki-site-footer::before{
	content:"";
	position:absolute;
	top:-1px;
	left:50%;
	width:min(220px,35vw);
	height:1px;
	transform:translateX(-50%);
	background:linear-gradient(90deg,transparent,var(--niki-ui-primary),var(--niki-ui-accent),transparent);
	opacity:.55;
}

.niki-footer-inner{
	text-align:center;
}

.niki-site-footer .niki-layout{
	align-items:center;
	gap:28px;
}

.niki-site-footer .niki-layout-column{
	display:flex;
	align-items:center;
	justify-content:center;
}

.niki-site-footer .niki-layout-column:first-child{
	justify-content:flex-start;
	text-align:left;
}

.niki-site-footer .niki-layout-column:nth-child(2){
	justify-content:center;
	text-align:center;
}

.niki-site-footer .niki-layout-column:last-child{
	justify-content:flex-end;
	text-align:right;
}

.niki-footer-text{
	margin:0 0 12px;
	color:var(--niki-ui-muted);
	font-size:12px;
	line-height:1.65;
}

.niki-footer-nav{
	margin-bottom:16px;
}

.niki-site-footer .niki-component-menu-list{
	justify-content:center;
}

.niki-site-footer .niki-component-menu-list a{
	color:var(--niki-ui-muted);
	font-size:12px;
	text-decoration:none;
}

.niki-site-footer .niki-component-menu-list a:hover{
	color:var(--niki-ui-primary);
}

.niki-site-footer .niki-component-login{
	display:flex;
	justify-content:center;
}

.niki-footer-socials{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px!important;
	margin-top:12px;
}

.niki-footer-social-link{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	width:42px!important;
	height:42px!important;
	border:1px solid var(--niki-ui-hairline)!important;
	border-radius:999px;
	background:rgba(255,255,255,.72)!important;
	box-shadow:none!important;
	color:var(--niki-ui-primary)!important;
	font-size:16px!important;
	font-weight:800!important;
	line-height:1;
	text-decoration:none!important;
	overflow:hidden;
	opacity:.86;
}

.niki-footer-social-link:hover{
	border-color:var(--niki-ui-brand-line)!important;
	background:#fff!important;
	transform:translateY(-2px)!important;
	opacity:1!important;
}

.niki-footer-social-link img{
	display:block!important;
	width:42px!important;
	height:42px!important;
	max-width:42px!important;
	max-height:42px!important;
	object-fit:contain!important;
}

/* ==============================================================
   17 - BACK TO TOP
============================================================== */

.niki-back-to-top{
	position:fixed;
	left:50%;
	right:auto;
	bottom:22px;
	z-index:9999;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	padding:0;
	border:1px solid color-mix(in srgb,var(--niki-ui-primary) 22%,white);
	border-radius:13px;
	background:linear-gradient(135deg,var(--niki-ui-primary),color-mix(in srgb,var(--niki-ui-primary) 68%,var(--niki-ui-accent)));
	box-shadow:0 12px 28px color-mix(in srgb,var(--niki-ui-primary) 18%,transparent);
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transform:translateX(-50%) translateY(14px);
	transition:opacity .25s ease,transform .35s var(--niki-ui-motion),box-shadow .25s ease;
}

.niki-back-to-top.is-visible{
	opacity:1;
	pointer-events:auto;
	transform:translateX(-50%) translateY(0);
}

.niki-back-to-top:hover{
	transform:translateX(-50%) translateY(-3px);
	box-shadow:0 17px 34px color-mix(in srgb,var(--niki-ui-primary) 24%,transparent);
}

.niki-back-to-top-arrow{
	position:relative!important;
	display:block!important;
	width:14px!important;
	height:14px!important;
	border:0!important;
	transform:none!important;
}

.niki-back-to-top-arrow::before,
.niki-back-to-top-arrow::after{
	content:""!important;
	position:absolute!important;
	top:5px!important;
	width:9px!important;
	height:2px!important;
	border-radius:999px!important;
	background:#fff!important;
}

.niki-back-to-top-arrow::before{left:0!important;transform:rotate(-45deg)!important;}
.niki-back-to-top-arrow::after{right:0!important;transform:rotate(45deg)!important;}

/* ==============================================================
   18 - MICRO MOTION
============================================================== */

@keyframes nikiLightSweep{
	0%{left:-42%;opacity:0;}
	18%{opacity:1;}
	100%{left:124%;opacity:0;}
}

@keyframes nikiFadeIn{
	from{opacity:0;}
	to{opacity:1;}
}

/* Automatic per-area entrance motion retired: Global Effects owns page reveal. */

/* ==============================================================
   19 - RESPONSIVE: TABLET
============================================================== */

@media(max-width:1100px){

	.niki-blog-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.niki-coming-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.niki-similar-news-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:900px){

	.niki-layout-content-sidebar,
	.niki-layout-sidebar-content{
		grid-template-columns:1fr;
	}

	.niki-layout-content-sidebar .niki-component-menu,
	.niki-layout-sidebar-content .niki-component-menu{
		position:relative;
		top:auto;
	}

	.niki-site-header.is-split .niki-header-inner,
	.niki-site-header.is-centered .niki-header-inner,
	.niki-site-header.is-three-columns .niki-header-inner{
		flex-direction:column;
		justify-content:center;
		text-align:center;
		padding-top:16px;
		padding-bottom:16px;
	}

	.niki-header-brand-column,
	.niki-header-menu-column,
	.niki-header-actions-column{
		justify-content:center;
		width:100%;
	}

	.niki-header-actions-column{
		flex-wrap:wrap;
	}

	.niki-secondary-menu{
		justify-content:center;
	}

	.niki-main-nav .sub-menu{
		left:0;
		transform:translate(0,10px);
	}

	.niki-main-nav li:hover > .sub-menu,
	.niki-main-nav li:focus-within > .sub-menu{
		transform:translate(0,0);
	}

	.niki-content-row.is-2-columns .niki-content-row-grid,
	.niki-content-row.is-3-columns .niki-content-row-grid{
		grid-template-columns:1fr!important;
	}

	.niki-gallery-component.niki-gallery-cols-4{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.niki-news-image-grid{
		grid-template-columns:1fr;
	}

	.niki-news-image-item img{
		height:auto;
	}

	.niki-news-nav{
		gap:22px!important;
	}

	.niki-site-footer .niki-layout-column,
	.niki-site-footer .niki-layout-column:first-child,
	.niki-site-footer .niki-layout-column:nth-child(2),
	.niki-site-footer .niki-layout-column:last-child{
		justify-content:center;
		text-align:center;
	}
}

/* ==============================================================
   20 - RESPONSIVE: MOBILE
============================================================== */

@media(max-width:782px){

	.admin-bar .niki-site-header.is-sticky{
		top:46px;
	}

	.niki-container,
	.niki-content-row .niki-container{
		width:min(calc(100% - 28px),var(--niki-content-width,1100px));
	}

	.niki-header-inner{
		flex-direction:column;
		gap:8px;
		padding:12px 0;
	}

	.niki-site-header .custom-logo{
		max-width:min(var(--niki-logo-width,360px),260px);
		max-height:70px;
	}

	.niki-main-nav .niki-menu{
		gap:3px 14px;
	}

	.niki-main-nav .niki-menu > li > a{
		min-height:38px;
		font-size:13px;
	}

	.niki-nav-accent{
		display:none;
	}

	.niki-second-header-inner{
		min-height:60px;
	}

	.niki-second-header-title{
		font-size:19px;
	}

	.niki-blog-header{
		padding-top:64px;
		padding-bottom:62px;
	}

	.niki-blog-title{
		font-size:clamp(44px,12vw,66px);
	}

	.niki-news-title{
		font-size:clamp(42px,11vw,62px);
	}

	.niki-news-header{
		text-align:left;
	}

	.niki-news-meta{
		justify-content:flex-start;
	}

	.niki-news-subtitle{
		margin-left:0;
	}

	.niki-news-body{
		font-size:17px;
	}

	.niki-news-intro{
		font-size:19px;
	}
}

@media(max-width:700px){

	.niki-second-header-inner{
		align-items:flex-start;
		flex-direction:column;
		gap:7px;
		padding-top:12px;
		padding-bottom:12px;
	}

	.niki-breadcrumbs ol{
		justify-content:flex-start;
	}

	.niki-blog-header{
		padding-left:14px;
		padding-right:14px;
	}

	.niki-blog-header::before{
		left:14px;
	}

	.niki-blog-filters{
		margin-top:28px;
		margin-bottom:28px;
	}

	.niki-blog-grid,
	.niki-similar-news-grid,
	.niki-coming-grid{
		grid-template-columns:1fr;
	}

	.niki-blog-card-body{
		padding:22px;
	}

	.niki-blog-card:not(:has(.niki-blog-card-image)) .niki-blog-card-body{
		min-height:210px;
	}

	.niki-news-nav{
		align-items:flex-start!important;
		gap:18px!important;
	}

	.niki-news-nav-item strong{
		font-size:15px!important;
	}

	.niki-similar-news > h2{
		text-align:left;
	}

	.niki-similar-news-image img{
		height:auto;
	}

	.niki-form-component{
		max-width:100%;
		padding:24px;
		border-radius:18px;
	}
}

@media(max-width:640px){

	.niki-gallery-component.niki-gallery-cols-2,
	.niki-gallery-component.niki-gallery-cols-3,
	.niki-gallery-component.niki-gallery-cols-4{
		grid-template-columns:1fr;
	}

	.niki-gallery-component.niki-gallery-gap-large{
		gap:18px;
	}

	.niki-lightbox{
		padding:18px;
	}

	.niki-lightbox-image{
		max-height:78vh;
		border-radius:14px;
	}

	.niki-lightbox-prev{left:12px;}
	.niki-lightbox-next{right:12px;}
	.niki-lightbox-close{top:12px;right:12px;}

	.niki-404-search form,
	.niki-search-empty form{
		flex-direction:column;
	}

	.niki-404-search input[type="submit"],
	.niki-search-empty input[type="submit"]{
		width:100%;
	}
}

@media(max-width:480px){

	.niki-container,
	.niki-content-row .niki-container{
		width:min(calc(100% - 22px),var(--niki-content-width,1100px));
	}

	.niki-site-header .custom-logo{
		max-width:220px;
	}

	.niki-blog-title{
		font-size:42px;
	}

	.niki-blog-header{
		padding-top:50px;
		padding-bottom:50px;
	}

	.niki-blog-filter{
		min-height:36px;
		padding-inline:12px;
	}

	.niki-news-nav{
		flex-direction:column!important;
	}

	.niki-news-nav-item,
	.niki-news-nav-item.is-next{
		width:100%;
		text-align:left!important;
	}

	.niki-news-nav-item.is-next span{
		justify-content:flex-start!important;
	}

	.niki-back-to-top{
		display:none !important;
	}
}

/* ==============================================================
   21 - ACCESSIBILITY / REDUCED MOTION
============================================================== */

@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto;}

	*,
	*::before,
	*::after{
		scroll-behavior:auto!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important;
	}
}
/* ==============================================================
   NIKIPUBIT SKIN v3 - FRONTEND REFINEMENT
   Header / page header / spacing / cards / typography / footer
   ============================================================== */

:root{
	--niki-ui-section:clamp(62px,7vw,96px);
	--niki-ui-shadow-xs:0 3px 14px rgba(7,21,47,.025);
	--niki-ui-shadow-sm:0 10px 30px rgba(7,21,47,.045);
	--niki-ui-shadow-md:0 20px 52px rgba(7,21,47,.075);
}

/* HEADER - cleaner, lighter, more compact */
.niki-site-header{
	background:rgba(255,255,255,.97);
	border-bottom:1px solid color-mix(in srgb,var(--niki-ui-primary) 9%,#e8ece9);
	box-shadow:none;
}

.niki-header-inner{
	min-height:84px;
	gap:clamp(24px,3vw,44px);
}

.niki-site-header .custom-logo{
	max-width:min(var(--niki-logo-width,330px),100%);
	max-height:82px;
}

.niki-main-nav .niki-menu{
	gap:4px clamp(17px,1.8vw,28px);
}

.niki-main-nav .niki-menu > li > a{
	min-height:44px;
	color:#111827;
	font-size:14px;
	font-weight:700;
}

.niki-main-nav .niki-menu > li > a::after{
	bottom:3px;
	height:2px;
	background:var(--niki-ui-primary);
}

/* PAGE HEADER / BREADCRUMBS */
.niki-second-header{
	background:#f8faf9;
	border-bottom:1px solid #e8eeea;
}

.niki-second-header-inner{
	min-height:66px;
	padding-top:12px;
	padding-bottom:12px;
}

.niki-second-header-title{
	font-size:clamp(22px,2vw,28px);
	font-weight:780;
	color:var(--niki-ui-heading);
}

.niki-breadcrumbs li,
.niki-breadcrumbs a{
	font-size:12px;
	color:#69736c;
}

/* BUILDER / CONTENT RHYTHM */
.niki-page-content{
	padding:clamp(58px,7vw,92px) 0;
}

.niki-section{
	padding-block:clamp(58px,7vw,92px);
}

.niki-section:nth-of-type(even){
	background:linear-gradient(
		125deg,
		color-mix(in srgb,var(--niki-ui-primary) 1.5%,white),
		color-mix(in srgb,var(--niki-ui-secondary) 1%,white)
	);
}

.niki-content-column h1,
.niki-text-block h1{
	font-weight:760;
}

.niki-content-column h2,
.niki-text-block h2{
	font-weight:750;
}

.niki-rich-text,
.niki-content-column .niki-rich-text{
	color:#263129;
	line-height:1.78;
}

/* BLOG HERO - keep the premium look, slightly tighter */
.niki-blog-header{
	padding-top:clamp(68px,8vw,108px);
	padding-bottom:clamp(62px,7vw,92px);
	background:
		radial-gradient(circle at 82% 30%,color-mix(in srgb,var(--niki-ui-primary) 10%,transparent),transparent 28rem),
		radial-gradient(circle at 67% 105%,color-mix(in srgb,var(--niki-secondary) 6%,transparent),transparent 24rem),
		linear-gradient(115deg,#fff,color-mix(in srgb,var(--niki-ui-primary) 2.4%,white));
}

.niki-blog-title{
	font-size:clamp(48px,5.8vw,78px);
	font-weight:780;
}

.niki-blog-subtitle{
	color:#66716a;
}

/* BLOG FILTERS */
.niki-blog-filters{
	margin:32px 0 34px;
}

.niki-blog-filter{
	min-height:38px;
	border-color:#e2e8e4;
	box-shadow:none;
}

.niki-blog-filter.is-active{
	box-shadow:0 8px 20px color-mix(in srgb,var(--niki-ui-primary) 14%,transparent);
}

/* CARDS - flatter NikiPubit look */
.niki-blog-grid{
	gap:22px;
}

.niki-blog-card{
	border-color:#e5ebe7;
	border-radius:18px;
	box-shadow:0 8px 26px rgba(7,21,47,.035);
}

.niki-blog-card:hover{
	transform:translateY(-3px);
	box-shadow:0 16px 38px rgba(7,21,47,.065);
}

.niki-blog-card-body{
	padding:24px;
}

.niki-blog-card:not(:has(.niki-blog-card-image)) .niki-blog-card-body{
	min-height:238px;
	background:linear-gradient(145deg,#fff,#fbfdfb);
}

.niki-blog-card-title{
	font-weight:750;
}

.niki-blog-card-meta{
	color:#657168;
}

.niki-blog-read-more{
	color:var(--niki-ui-primary);
	font-weight:780;
}

/* AUTHOR */
.niki-author-profile{
	max-width:980px;
	margin-bottom:58px;
}

.niki-author-avatar-image{
	border-radius:18px;
	box-shadow:0 8px 26px rgba(7,21,47,.05);
}

/* FORMS / CALLOUTS */
.niki-form-component,
.niki-content-column.is-callout > .niki-callout,
.niki-content-column.is-callout:not(:has(> .niki-callout)){
	box-shadow:0 10px 30px rgba(7,21,47,.04);
}

/* FOOTER - minimal */
.niki-site-footer{
	padding:42px 0;
	background:#fff;
	border-top:1px solid #e8eeea;
}

.niki-site-footer::before{
	width:min(180px,30vw);
	opacity:.45;
}

.niki-footer-text{
	color:#6b756e;
	font-size:11px;
}

.niki-site-footer .niki-component-menu-list a{
	color:#66716a;
}

/* MOBILE */
@media(max-width:782px){
	.niki-header-inner{
		min-height:auto;
		padding:10px 0;
	}

	.niki-site-header .custom-logo{
		max-width:min(var(--niki-logo-width,330px),250px);
		max-height:66px;
	}

	.niki-second-header-inner{
		min-height:58px;
	}

	.niki-blog-header{
		padding-top:56px;
		padding-bottom:54px;
	}

	.niki-site-footer{
		padding:34px 0;
	}
}

@media(max-width:480px){
	.niki-site-header .custom-logo{
		max-width:215px;
	}

	.niki-blog-title{
		font-size:40px;
	}
}


/* ==============================================================
   GLOBAL / CUSTOM BUILDER MENUS   STRUCTURAL SKIN CONTRACT
   Builder decides orientation, alignment and role.
   Skin decides spacing, typography and visual weight.
============================================================== */

.niki-component-menu{
	width:100%;
}

.niki-component-menu .niki-component-menu-list{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px 20px;
	margin:0;
	padding:0;
	list-style:none;
}

/* Orientation   shared renderer classes */
.niki-component-menu.is-menu-horizontal .niki-component-menu-list,
.niki-component-menu .niki-component-menu-list.is-horizontal{
	flex-direction:row;
}

.niki-component-menu.is-menu-vertical .niki-component-menu-list,
.niki-component-menu .niki-component-menu-list.is-vertical{
	flex-direction:column;
	align-items:flex-start;
	gap:5px;
}

/* Alignment */
.niki-component-menu.is-align-left .niki-component-menu-list{
	justify-content:flex-start;
	text-align:left;
}

.niki-component-menu.is-align-center .niki-component-menu-list{
	justify-content:center;
	text-align:center;
}

.niki-component-menu.is-align-right .niki-component-menu-list{
	justify-content:flex-end;
	text-align:right;
}

.niki-component-menu.is-menu-vertical.is-align-center .niki-component-menu-list{
	align-items:center;
}

.niki-component-menu.is-menu-vertical.is-align-right .niki-component-menu-list{
	align-items:flex-end;
}

/* Base link */
.niki-component-menu .niki-component-menu-list a{
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:0;
	color:var(--niki-ui-text);
	font-size:13px;
	font-weight:650;
	line-height:1.35;
	text-decoration:none;
}

.niki-component-menu .niki-component-menu-list a:hover{
	color:var(--niki-ui-primary);
}

/* PRIMARY   strongest navigation role */
.niki-component-menu.is-menu-role-primary .niki-component-menu-list{
	gap:6px clamp(16px,2vw,28px);
}

.niki-component-menu.is-menu-role-primary .niki-component-menu-list a{
	color:var(--niki-ui-heading);
	font-size:14px;
	font-weight:700;
}

/* SECONDARY   intentionally lighter */
.niki-component-menu.is-menu-role-secondary .niki-component-menu-list{
	gap:5px 16px;
}

.niki-component-menu.is-menu-role-secondary .niki-component-menu-list a{
	min-height:32px;
	color:var(--niki-ui-muted);
	font-size:12px;
	font-weight:620;
}

/* FOOTER   compact and quiet */
.niki-site-footer .niki-component-menu.is-menu-role-footer .niki-component-menu-list{
	gap:4px 16px;
}

.niki-site-footer .niki-component-menu.is-menu-role-footer .niki-component-menu-list a{
	min-height:30px;
	color:var(--niki-ui-muted);
	font-size:12px;
	font-weight:600;
}

.niki-site-footer .niki-component-menu.is-menu-role-footer .niki-component-menu-list a:hover{
	color:var(--niki-ui-primary);
}

/* LEGAL   smallest / most discreet */
.niki-site-footer .niki-component-menu.is-menu-role-legal .niki-component-menu-list{
	gap:3px 13px;
}

.niki-site-footer .niki-component-menu.is-menu-role-legal .niki-component-menu-list a{
	min-height:26px;
	color:color-mix(in srgb,var(--niki-ui-muted) 86%,transparent);
	font-size:11px;
	font-weight:560;
}

.niki-site-footer .niki-component-menu.is-menu-role-legal .niki-component-menu-list a:hover{
	color:var(--niki-ui-primary);
}

/* Vertical footer menus should read as link groups, not buttons. */
.niki-site-footer .niki-component-menu.is-menu-vertical .niki-component-menu-list a{
	width:auto;
	min-height:28px;
}

/* Custom page Header/Footer use exactly the same component contract. */
.niki-custom-page-header .niki-component-menu,
.niki-custom-page-footer .niki-component-menu{
	min-width:0;
}

/* Mobile: preserve explicit vertical menus; horizontal menus wrap cleanly. */
@media (max-width:782px){
	.niki-component-menu.is-menu-horizontal .niki-component-menu-list,
	.niki-component-menu .niki-component-menu-list.is-horizontal{
		gap:5px 14px;
	}

	.niki-component-menu.is-menu-role-primary .niki-component-menu-list a{
		font-size:13px;
	}

	.niki-site-footer .niki-component-menu.is-menu-role-footer .niki-component-menu-list,
	.niki-site-footer .niki-component-menu.is-menu-role-legal .niki-component-menu-list{
		row-gap:2px;
	}
}



/* ==============================================================
   BUILDER STANDARD COMPONENTS - ACCORDION / TABS / LIST / TABLE
============================================================== */
.niki-accordion{width:100%;border-top:1px solid var(--niki-ui-hairline)}
.niki-accordion-item{border-bottom:1px solid var(--niki-ui-hairline)}
.niki-accordion-title,.niki-accordion-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border:0;background:transparent;color:var(--niki-ui-heading);font:inherit;font-weight:720;text-align:left;cursor:pointer}
.niki-accordion-title::after,.niki-accordion-trigger::after{content:"+";color:var(--niki-ui-primary);font-size:20px}
.niki-accordion-item.is-active>.niki-accordion-title::after,.niki-accordion-item.is-active>.niki-accordion-trigger::after{content:"-"}
.niki-accordion-content,.niki-accordion-panel{padding:0 0 20px;color:var(--niki-ui-text);line-height:1.75}
.niki-accordion-content[hidden],.niki-accordion-panel[hidden]{display:none!important}
.niki-tabs{width:100%}.niki-tabs-nav,.niki-tab-buttons{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px;margin:0 0 24px;border-bottom:1px solid var(--niki-ui-hairline)}
.niki-tab-button,.niki-tab-trigger{margin:0 0 -1px;padding:12px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--niki-ui-muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.niki-tab-button:hover,.niki-tab-trigger:hover{color:var(--niki-ui-primary)}
.niki-tab-button.is-active,.niki-tab-trigger.is-active{border-bottom-color:var(--niki-ui-primary);color:var(--niki-ui-heading)}
.niki-tab-content,.niki-tab-panel{color:var(--niki-ui-text);line-height:1.75}.niki-tab-content[hidden],.niki-tab-panel[hidden]{display:none!important}
.niki-list,.niki-list-component{margin:0;padding-left:1.25em;color:var(--niki-ui-text)}.niki-list li,.niki-list-component li{margin:.45em 0;padding-left:.2em}
.niki-table-wrap,.niki-table-component{width:100%;overflow-x:auto}.niki-table,.niki-table-component table{width:100%;border-collapse:collapse;background:var(--niki-ui-surface);font-size:14px}
.niki-table th,.niki-table td,.niki-table-component th,.niki-table-component td{padding:13px 15px;border:1px solid var(--niki-ui-hairline);text-align:left;vertical-align:top}.niki-table th,.niki-table-component th{background:var(--niki-ui-soft);color:var(--niki-ui-heading);font-weight:750}
@media(max-width:767px){.niki-tab-button,.niki-tab-trigger{flex:1 1 auto;text-align:center}.niki-table,.niki-table-component table{min-width:560px}}


/* NikiCORE STEP 3 — Responsive / Clickable Media */
.niki-media-responsive{display:block;max-width:100%;position:relative}.niki-media-responsive img,.niki-media-responsive video{display:block;width:100%;max-width:100%;height:auto}.niki-media-clickable{text-decoration:none;color:inherit;cursor:pointer}.niki-media-embed{position:relative;width:100%;max-width:100%;overflow:hidden}.niki-media-embed iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0}

/* NikiCORE STEP 4 — Native Simple Slider */
.niki-simple-slider{position:relative;width:100%;max-width:100%;overflow:hidden;background:var(--niki-surface,#fff)}.niki-slider-track{position:relative;min-height:220px}.niki-slider-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,transform .45s ease}.niki-slider-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}.niki-slider-slide img{display:block;width:100%;height:auto;object-fit:cover}.niki-slider-content{position:absolute;left:clamp(18px,5vw,64px);bottom:clamp(18px,5vw,56px);max-width:min(560px,75%);padding:18px 20px;border-radius:12px;background:rgba(255,255,255,.92);color:var(--niki-text,#202936)}.niki-slider-content h3{margin:0 0 8px;color:var(--niki-heading,#202936)}.niki-slider-content p{margin:0 0 12px}.niki-slider-button{display:inline-flex;padding:10px 16px;border-radius:8px;background:var(--niki-primary,#4A90E2);color:#fff;text-decoration:none}.niki-slider-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.9);cursor:pointer;font-size:26px;line-height:1}.niki-slider-prev{left:12px}.niki-slider-next{right:12px}.niki-slider-dots{position:absolute;z-index:3;left:50%;bottom:12px;display:flex;gap:7px;transform:translateX(-50%)}.niki-slider-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.6);cursor:pointer}.niki-slider-dot.is-active{background:var(--niki-primary,#4A90E2)}.niki-slider-transition-slide .niki-slider-slide{transform:translateX(3%)}.niki-slider-transition-slide .niki-slider-slide.is-active{transform:translateX(0)}
@media(max-width:640px){.niki-slider-content{position:relative;left:auto;bottom:auto;max-width:none;margin:0;padding:16px;border-radius:0;background:#fff}.niki-slider-nav{width:34px;height:34px}.niki-slider-track{min-height:0}}
@media(prefers-reduced-motion:reduce){.niki-slider-slide{transition:none!important}}


/* STEP 5 — ONE Global Motion Engine
   Coordinated page/section entrance motion only.
   Functional interactions (lightbox, ASK, slider, menus, accordions, etc.) stay independent. */
.niki-global-motion-target{
	opacity:0;
	will-change:opacity,transform;
	backface-visibility:hidden;
}
/* Smooth / Bloom Reveal: opens gently from the centre like a flower.
   No vertical travel: the whole composition unfolds outward as one unit. */
.niki-global-effect-smooth-reveal .niki-global-motion-target{
	transform:scale(.94);
	transform-origin:center center;
	clip-path:inset(10% 7% round 22px);
	transition:opacity .78s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1),clip-path .82s cubic-bezier(.16,1,.3,1);
}
.niki-global-effect-smooth-reveal .niki-global-motion-target.is-global-revealed{
	transform:scale(1);
	clip-path:inset(0 0 0 0 round 0);
}
/* Slide: stronger vertical entrance, still controlled and consistent site-wide. */
.niki-global-effect-slide-reveal .niki-global-motion-target{
	transform:translate3d(0,44px,0);
	transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1);
}
/* Stagger: section arrives first; structural columns follow in one rhythmic sequence. */
.niki-global-effect-staggered-reveal .niki-global-motion-target{
	transform:translate3d(0,28px,0);
	transition:opacity .58s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1);
}
.niki-global-motion-target.is-global-revealed{
	opacity:1;
	transform:translate3d(0,0,0);
	will-change:auto;
}
.niki-global-effect-staggered-reveal .niki-global-motion-target .niki-content-row-grid > .niki-content-column{
	opacity:0;
	transform:translate3d(0,20px,0);
	transition:opacity .48s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1);
	transition-delay:var(--niki-global-child-delay,0ms);
}
.niki-global-effect-staggered-reveal .niki-global-motion-target.is-global-revealed .niki-content-row-grid > .niki-content-column{
	opacity:1;
	transform:translate3d(0,0,0);
}
@media (prefers-reduced-motion:reduce){
	.niki-global-motion-target,
	.niki-global-motion-target .niki-content-row-grid > .niki-content-column{
		opacity:1!important;
		transform:none!important;
		transition:none!important;
		will-change:auto!important;
	}
}


/* Builder Elements: Social Media + Share Media */
.niki-social-media-links,.niki-share-media-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.niki-social-media-link,.niki-share-media-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:8px 11px;border:1px solid #D8E8F3;border-radius:10px;background:#fff;color:#168FC4;text-decoration:none;font-weight:700;line-height:1}
.niki-social-media-link:hover,.niki-share-media-link:hover{color:#0875A5;border-color:#168FC4}
.niki-social-media-link img{display:block;width:24px;height:24px;object-fit:contain}
.niki-social-media-link span{font-size:13px;text-transform:uppercase}

/* ==============================================================
   BUILDER MENU NAVIGATION â€” desktop structural correction
   Horizontal supports dropdown + Mega Menu. Vertical is normal nested nav.
============================================================== */
@media (min-width:783px){
  .niki-menu-component > .niki-menu-component-list{
    position:relative;
    margin:0;
    padding:0;
    list-style:none;
  }
  .niki-menu-component > .niki-menu-component-list li{position:relative;list-style:none;}
  .niki-menu-component > .niki-menu-component-list ul{margin:0;padding:0;list-style:none;}

  .niki-menu-component.is-horizontal > .niki-menu-component-list,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 20px;
  }
  .niki-menu-component.is-horizontal > .niki-menu-component-list > li > a,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list > li > a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:0 8px;
    color:var(--niki-ui-heading);
    background:transparent;
    border:0;
    border-radius:8px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
  }
  .niki-menu-component.is-horizontal > .niki-menu-component-list > li > a:hover,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list > li > a:hover{
    color:var(--niki-ui-primary);
    background:var(--niki-ui-soft);
  }
  .niki-menu-component.is-horizontal li:not(.niki-mega-menu) > .sub-menu,
  .niki-menu-component.is-menu-horizontal li:not(.niki-mega-menu) > .sub-menu{
    position:absolute;
    z-index:1000;
    top:calc(100% + 8px);
    left:0;
    display:block;
    min-width:210px;
    padding:8px;
    background:#fff;
    border:1px solid var(--niki-ui-hairline);
    border-radius:12px;
    box-shadow:0 14px 34px rgba(1,12,53,.10);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .niki-menu-component.is-horizontal li:not(.niki-mega-menu):hover > .sub-menu,
  .niki-menu-component.is-horizontal li:not(.niki-mega-menu):focus-within > .sub-menu,
  .niki-menu-component.is-menu-horizontal li:not(.niki-mega-menu):hover > .sub-menu,
  .niki-menu-component.is-menu-horizontal li:not(.niki-mega-menu):focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;
  }
  .niki-menu-component.is-horizontal li:not(.niki-mega-menu) > .sub-menu .sub-menu,
  .niki-menu-component.is-menu-horizontal li:not(.niki-mega-menu) > .sub-menu .sub-menu{
    top:-8px;left:calc(100% + 8px);
  }
  .niki-menu-component.is-horizontal li:not(.niki-mega-menu) > .sub-menu a,
  .niki-menu-component.is-menu-horizontal li:not(.niki-mega-menu) > .sub-menu a{
    display:flex;width:100%;min-height:36px;padding:7px 10px;border-radius:8px;
    color:var(--niki-ui-text);font-size:13px;font-weight:620;text-decoration:none;
  }

  .niki-menu-component.is-vertical > .niki-menu-component-list,
  .niki-menu-component.is-menu-vertical > .niki-menu-component-list{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    width:100%;
  }
  .niki-menu-component.is-vertical .niki-menu-component-list li,
  .niki-menu-component.is-menu-vertical .niki-menu-component-list li{width:100%;}
  .niki-menu-component.is-vertical .niki-menu-component-list a,
  .niki-menu-component.is-menu-vertical .niki-menu-component-list a{
    display:flex;width:100%;min-height:38px;padding:7px 10px;border-radius:8px;
    color:var(--niki-ui-text);background:transparent;font-size:13px;font-weight:650;text-decoration:none;
  }
  .niki-menu-component.is-vertical .niki-menu-component-list a:hover,
  .niki-menu-component.is-menu-vertical .niki-menu-component-list a:hover{
    color:var(--niki-ui-primary);background:var(--niki-ui-soft);transform:none;
  }
  .niki-menu-component.is-vertical .sub-menu,
  .niki-menu-component.is-menu-vertical .sub-menu{
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:2px 0 2px 12px !important;
    padding:0 0 0 10px !important;
    background:transparent !important;
    border:0 !important;
    border-left:1px solid var(--niki-ui-hairline) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    grid-template-columns:none !important;
  }
  .niki-menu-component.is-vertical .niki-mega-menu > .sub-menu > li,
  .niki-menu-component.is-menu-vertical .niki-mega-menu > .sub-menu > li{
    display:block !important;width:100%;
  }
  .niki-menu-component.is-vertical .niki-mega-menu .niki-mega-link-media,
  .niki-menu-component.is-menu-vertical .niki-mega-menu .niki-mega-link-media,
  .niki-menu-component.is-vertical .niki-mega-column-text,
  .niki-menu-component.is-menu-vertical .niki-mega-column-text{
    display:none !important;
  }
  .niki-menu-component.is-vertical .niki-mega-menu > .sub-menu > li > a,
  .niki-menu-component.is-menu-vertical .niki-mega-menu > .sub-menu > li > a{
    margin:0;padding:7px 10px;border:0;font-weight:700;
  }
}

/* ==============================================================
   NIKICORE BUILDER â€” COLUMN + MENU STRUCTURAL CORRECTION 2026-09-28
   Equal columns are the default. Content never sizes the tracks.
============================================================== */
@media (min-width:783px){
  .niki-content-row.is-1-columns .niki-content-row-grid{grid-template-columns:minmax(0,1fr)!important;}
  .niki-content-row.is-2-columns .niki-content-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .niki-content-row.is-3-columns .niki-content-row-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .niki-content-row.is-4-columns .niki-content-row-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .niki-content-row.is-5-columns .niki-content-row-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .niki-content-row.is-6-columns .niki-content-row-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .niki-content-row-grid > .niki-content-column{min-width:0!important;max-width:100%!important;width:100%!important;}

  /* Horizontal navigation is one top-level line; dropdowns do not take layout space. */
  .niki-menu-component.is-horizontal > .niki-menu-component-list,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list{
    flex-wrap:nowrap!important;width:100%;min-width:0;
  }
  .niki-menu-component.is-horizontal > .niki-menu-component-list > li,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list > li{flex:0 0 auto;}
  .niki-menu-component.is-horizontal > .niki-menu-component-list > li > a,
  .niki-menu-component.is-menu-horizontal > .niki-menu-component-list > li > a{white-space:nowrap;}

  /* Vertical is a compact normal navigation tree. Mega content becomes normal nested links. */
  .niki-menu-component.is-vertical > .niki-menu-component-list,
  .niki-menu-component.is-menu-vertical > .niki-menu-component-list{gap:2px!important;}
  .niki-menu-component.is-vertical .niki-menu-component-list a,
  .niki-menu-component.is-menu-vertical .niki-menu-component-list a{min-height:34px!important;padding:5px 8px!important;}
  .niki-menu-component.is-vertical .sub-menu,
  .niki-menu-component.is-menu-vertical .sub-menu{margin:0 0 0 14px!important;padding:0 0 0 10px!important;}
  .niki-menu-component.is-vertical .niki-mega-menu > .sub-menu,
  .niki-menu-component.is-menu-vertical .niki-mega-menu > .sub-menu{display:block!important;}
  .niki-menu-component.is-vertical .niki-mega-menu .niki-mega-column,
  .niki-menu-component.is-menu-vertical .niki-mega-menu .niki-mega-column{display:block!important;width:100%!important;}
  .niki-menu-component.is-vertical .niki-mega-menu .niki-mega-column > .sub-menu,
  .niki-menu-component.is-menu-vertical .niki-mega-menu .niki-mega-column > .sub-menu{display:block!important;}
}

/* ==============================================================
   NIKICORE BUILDER â€” UNIVERSAL ELEMENT ALIGNMENT + MENU ACCORDION
   2026-09-28
============================================================== */
.niki-content-column.element-align-left{ text-align:left; }
.niki-content-column.element-align-center{ text-align:center; }
.niki-content-column.element-align-right{ text-align:right; }
.niki-content-column.element-align-left > *{ margin-left:0; margin-right:auto; }
.niki-content-column.element-align-center > *{ margin-left:auto; margin-right:auto; }
.niki-content-column.element-align-right > *{ margin-left:auto; margin-right:0; }
.niki-content-column.element-align-default > *{ }

@media (min-width:783px){
  /* Menu alignment controls the whole navigation, including the Mega trigger. */
  .niki-menu-component.is-align-left > .niki-menu-component-list{justify-content:flex-start!important;align-items:flex-start;}
  .niki-menu-component.is-align-center > .niki-menu-component-list{justify-content:center!important;align-items:center;}
  .niki-menu-component.is-align-right > .niki-menu-component-list{justify-content:flex-end!important;align-items:flex-end;}

  /* Manual Mega opening is independent from normal menu alignment. */
  .niki-menu-component.mega-open-left .niki-mega-menu > .sub-menu{left:0!important;right:auto!important;transform:none!important;}
  .niki-menu-component.mega-open-center .niki-mega-menu > .sub-menu{left:50%!important;right:auto!important;transform:translateX(-50%)!important;}
  .niki-menu-component.mega-open-right .niki-mega-menu > .sub-menu{left:auto!important;right:0!important;transform:none!important;}

  /* Vertical = compact accordion/dropdown, never an expanded Mega panel. */
  .niki-menu-component.is-menu-vertical .niki-menu-component-list,
  .niki-menu-component.is-vertical .niki-menu-component-list{width:100%;}
  .niki-menu-component.is-menu-vertical li.menu-item-has-children > a,
  .niki-menu-component.is-vertical li.menu-item-has-children > a{position:relative;padding-right:30px!important;}
  .niki-menu-component.is-menu-vertical li.menu-item-has-children > a::after,
  .niki-menu-component.is-vertical li.menu-item-has-children > a::after{content:'â€º';position:absolute;right:9px;top:50%;transform:translateY(-50%) rotate(0deg);transition:transform .18s ease;font-size:18px;line-height:1;}
  .niki-menu-component.is-menu-vertical li.menu-item-has-children.is-niki-submenu-open > a::after,
  .niki-menu-component.is-vertical li.menu-item-has-children.is-niki-submenu-open > a::after{transform:translateY(-50%) rotate(90deg);}
  .niki-menu-component.is-menu-vertical li.menu-item-has-children > .sub-menu,
  .niki-menu-component.is-vertical li.menu-item-has-children > .sub-menu{display:none!important;margin:2px 0 4px 12px!important;padding:2px 0 2px 10px!important;border-left:1px solid var(--niki-ui-hairline)!important;}
  .niki-menu-component.is-menu-vertical li.menu-item-has-children.is-niki-submenu-open > .sub-menu,
  .niki-menu-component.is-vertical li.menu-item-has-children.is-niki-submenu-open > .sub-menu{display:block!important;}
  .niki-menu-component.is-menu-vertical .niki-mega-menu .niki-mega-link-media,
  .niki-menu-component.is-vertical .niki-mega-menu .niki-mega-link-media,
  .niki-menu-component.is-menu-vertical .niki-mega-column-text,
  .niki-menu-component.is-vertical .niki-mega-column-text{display:none!important;}
  .niki-menu-component.is-menu-vertical .niki-mega-menu > .sub-menu,
  .niki-menu-component.is-vertical .niki-mega-menu > .sub-menu{position:static!important;width:auto!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;grid-template-columns:none!important;}
}

/* ==============================================================
   NIKICORE LATEST NEWS â€” DEFAULT / GRID / SMALL LIST
   2026-09-28
============================================================== */
.niki-news-component{display:flex;flex-direction:column;gap:var(--niki-news-gap,16px);width:100%;}
.niki-news-component .niki-news-item{min-width:0;}
.niki-news-component .niki-news-title{display:block;font-size:1rem;line-height:1.35;font-weight:700;text-decoration:none;}
.niki-news-component .niki-news-date{display:block;margin-top:4px;font-size:.82rem;line-height:1.3;opacity:.72;}
.niki-news-component.is-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--niki-news-gap,24px);}
.niki-news-component.is-grid .niki-news-item{padding:16px;border:1px solid var(--niki-ui-hairline,#e5e7eb);border-radius:12px;}
.niki-news-component.is-grid .niki-news-excerpt{margin-top:10px;font-size:.92rem;line-height:1.55;}
.niki-news-component.is-small-list{gap:8px;}
.niki-news-component.is-small-list .niki-news-item{display:flex;align-items:baseline;gap:10px;padding:0 0 8px;border-bottom:1px solid var(--niki-ui-hairline,#e5e7eb);}
.niki-news-component.is-small-list .niki-news-title{font-size:.88rem;line-height:1.3;font-weight:650;}
.niki-news-component.is-small-list .niki-news-date{flex:0 0 auto;margin:0;font-size:.72rem;white-space:nowrap;}
@media(max-width:782px){.niki-news-component.is-grid{grid-template-columns:1fr;}}

/* NikiCORE native Logo element */
.niki-builder-logo{display:flex;width:100%}.niki-logo-align-left{justify-content:flex-start}.niki-logo-align-center{justify-content:center}.niki-logo-align-right{justify-content:flex-end}.niki-builder-logo img{display:block;height:auto;object-fit:contain}@media(max-width:782px){.niki-builder-logo img{width:min(var(--niki-mobile-logo-width,180px),100%)!important;max-height:var(--niki-mobile-logo-height,70px)!important}}

@media(max-width:960px) and (min-width:783px){.niki-content-row.is-4-columns .niki-content-row-grid,.niki-content-row.is-5-columns .niki-content-row-grid,.niki-content-row.is-6-columns .niki-content-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:782px){.niki-content-row.is-4-columns .niki-content-row-grid,.niki-content-row.is-5-columns .niki-content-row-grid,.niki-content-row.is-6-columns .niki-content-row-grid{grid-template-columns:1fr!important;}}
/* Modern Builder 2.0: multiple elements inside one column container. */
.niki-modern-frontend-column{min-width:0;display:flex;flex-direction:column;gap:var(--niki-element-gap,16px)}
.niki-modern-frontend-column>.niki-content-column{width:100%;min-width:0}

/* Modern Builder 2.0 column background layers + device visibility */
.niki-modern-frontend-column{position:relative;overflow:hidden}
.niki-modern-frontend-column>*:not(.niki-modern-column-bg-video):not(.niki-modern-column-bg-overlay):not(.niki-modern-column-bg-animation){position:relative;z-index:2}
.niki-modern-column-bg-video,.niki-modern-column-bg-overlay,.niki-modern-column-bg-animation{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.niki-modern-column-bg-video{object-fit:cover}.niki-modern-column-bg-overlay{z-index:1}.niki-modern-column-bg-animation{overflow:hidden}
.niki-modern-column-hidden{display:none!important}
@media(min-width:1025px){.niki-modern-hide-desktop{display:none!important}}
@media(min-width:783px) and (max-width:1024px){.niki-modern-hide-tablet{display:none!important}}
@media(max-width:782px){.niki-modern-hide-mobile{display:none!important}}

/* ==============================================================
   NIKICORE MODERN BUILDER â€” TABS + ACCORDION FRONTEND
   Gate 02 / 2026-10-03
============================================================== */
.niki-tabs-component,.niki-tabs{width:100%}
.niki-tabs-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;border-bottom:1px solid var(--niki-ui-hairline,#d9e6f2)}
.niki-tabs-nav button,.niki-tab-button,.niki-tab-trigger{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 14px;margin:0;color:inherit;font:inherit;font-weight:700;line-height:1.25;cursor:pointer;border-radius:8px 8px 0 0;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.niki-tabs-nav button:hover,.niki-tab-button:hover,.niki-tab-trigger:hover{background:rgba(22,143,196,.07)}
.niki-tabs-nav button.is-active,.niki-tabs-nav button[aria-selected="true"],.niki-tab-button.is-active,.niki-tab-trigger.is-active{color:var(--niki-primary,#168FC4);border-bottom-color:currentColor;background:rgba(22,143,196,.08)}
.niki-tab-panel{padding:4px 0 0;min-width:0}
.niki-tab-panel[hidden],.niki-tabs-panels>[hidden]{display:none!important}

.niki-accordion-component,.niki-accordion{width:100%;display:flex;flex-direction:column;gap:8px}
.niki-accordion-component .niki-accordion-item,.niki-accordion .niki-accordion-item{overflow:hidden;border:1px solid var(--niki-ui-hairline,#d9e6f2);border-radius:10px;background:#fff}
.niki-accordion-component summary,.niki-accordion-trigger{position:relative;display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:13px 42px 13px 15px;border:0;background:#fff;color:inherit;font:inherit;font-weight:700;line-height:1.35;text-align:left;cursor:pointer;list-style:none}
.niki-accordion-component summary::-webkit-details-marker{display:none}
.niki-accordion-component summary::after,.niki-accordion-trigger::after{content:'âŒ„';position:absolute;right:15px;top:50%;transform:translateY(-52%) rotate(0deg);font-size:20px;line-height:1;color:var(--niki-primary,#168FC4);transition:transform .16s ease}
.niki-accordion-component details[open]>summary::after,.niki-accordion-item.is-active>.niki-accordion-trigger::after,.niki-accordion-trigger[aria-expanded="true"]::after{transform:translateY(-48%) rotate(180deg)}
.niki-accordion-content,.niki-accordion-panel{padding:0 15px 14px;line-height:1.6}
.niki-accordion-panel[hidden]{display:none!important}
@media(max-width:782px){.niki-tabs-nav{gap:3px}.niki-tabs-nav button,.niki-tab-button,.niki-tab-trigger{padding:9px 10px;font-size:.92em}}
