/*
=================================================================
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{
	/* 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;
}

.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:8px;
	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;
	right:22px;
	bottom:22px;
	left:auto;
	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: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:translateY(0);
}

.niki-back-to-top:hover{
	transform: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;}
}

@keyframes nikiRise{
	from{opacity:0;transform:translateY(10px);}
	to{opacity:1;transform:none;}
}

@media(prefers-reduced-motion:no-preference){
	.niki-blog-header > *,
	.niki-news-header > *,
	.niki-coming-inner > *{
		animation:nikiRise .55s var(--niki-ui-motion) both;
	}

	.niki-blog-header > *:nth-child(2),
	.niki-news-header > *:nth-child(2){animation-delay:.05s;}

	.niki-blog-header > *:nth-child(3),
	.niki-news-header > *:nth-child(3){animation-delay:.1s;}
}

/* ==============================================================
   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{
		right:14px;
		bottom:14px;
		width:42px;
		height:42px;
	}
}

/* ==============================================================
   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}}
