/**
 * Niki Core © 2026
 * Style © Framework Foundation
 * Dr. Niki Papageorgiou
 * All Rights Reserved.
 *
 * Purpose: Functional / structural foundation only.
 * Rule: HOW IT WORKS © not how it looks.
 * Compatibility: Existing PHP, Builder, HTML and class contract remain unchanged.
 */

:root{
	/* Niki Core master brand palette */
	--niki-grey-black:#010C35;
	--niki-lavender:#7B63FF;
	--niki-cyan:#10B1E5;
	--niki-green:#7ED703;
	--niki-coral:#FF542B;
	--niki-white:#FFFFFF;

	/* Existing public token contract   mapped to the new brand DNA */
	--niki-primary:var(--niki-grey-black);
	--niki-secondary:var(--niki-cyan);
	--niki-accent:var(--niki-lavender);
	--niki-background:#FAFAFF;
	--niki-text:#202936;
	--niki-heading:var(--niki-grey-black);
	--niki-surface:var(--niki-white);
	--niki-muted:#66758A;
	--niki-border:#E5E7F0;

	/* Structural / functional tokens   unchanged */
	--niki-content-width:1100px;
	--niki-radius:50px;
	--niki-heading-font:"Inter",sans-serif;
	--niki-body-font:"Inter",sans-serif;
	--niki-logo-width:360px;
	--niki-logo-height:95px;
	--niki-header-padding:14px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--niki-body-font);}
img{max-width:100%;height:auto;}
h1,h2,h3,h4,h5,h6{font-family:var(--niki-heading-font);}

.niki-container{
	width:min(calc(100% - 40px),var(--niki-content-width));
	margin-inline:auto;
}
.niki-site-main{min-height:70vh;}
.niki-page-content{width:100%;}

/* HEADER STRUCTURE */
.niki-site-header{position:relative;z-index:100;width:100%;}
.niki-site-header.is-sticky{position:sticky;top:0;}
.niki-header-inner{display:flex;align-items:center;justify-content:center;gap:28px;}
.niki-header-column{display:flex;align-items:center;min-width:0;}
.niki-header-brand-column{justify-content:flex-start;}
.niki-header-menu-column{justify-content:center;flex:1;}
.niki-header-actions-column{display:flex;align-items:center;justify-content:flex-end;gap:14px;}
.niki-site-brand{display:flex;align-items:center;min-width:0;text-decoration:none;}
.niki-site-header .custom-logo{display:block;width:auto;max-width:var(--niki-logo-width);max-height:var(--niki-logo-height);object-fit:contain;}
.niki-main-nav{position:relative;}
.niki-menu,.niki-secondary-menu,.niki-footer-menu{display:flex;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.niki-main-nav .niki-menu>li{position:relative;}
.niki-main-nav .sub-menu{position:absolute;z-index:120;margin:0;padding:0;list-style:none;}
.niki-site-header.is-centered .niki-header-inner{flex-direction:column;justify-content:center;text-align:center;}
.niki-site-header.is-centered .niki-site-brand{justify-content:center;}
.niki-site-header.is-split .niki-header-inner{flex-direction:row;justify-content:space-between;}
.niki-site-header.is-split .niki-site-brand{justify-content:flex-start;}
.niki-site-header.is-minimal .niki-header-inner{justify-content:center;}
.niki-site-header.is-minimal .niki-main-nav{display:none;}
.niki-site-header.is-three-columns .niki-header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;}
.niki-site-header.no-menu .niki-header-inner{justify-content:center;text-align:center;}
.niki-site-header.no-menu .niki-site-brand{justify-content:center;}

/* PAGE SHELL */
.niki-layout{display:grid;gap:28px;width:100%;}
.niki-layout-column{min-width:0;}
.niki-layout-normal,.niki-layout-full-width,.niki-layout-blank{grid-template-columns:1fr;}
.niki-layout-content-sidebar{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;}
.niki-layout-sidebar-content{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);align-items:start;}
.niki-layout-content-sidebar .niki-component-menu,
.niki-layout-sidebar-content .niki-component-menu{position:sticky;top:120px;}

/* COMPONENT CONTRACT */
.niki-component{width:100%;}
.niki-component-image{width:100%;}
.niki-component-image-img{display:block;max-width:100%;height:auto;}
.niki-component-button{display:flex;align-items:center;}
.niki-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.niki-component-menu-list{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.niki-component-login a,.niki-cart-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.niki-component-search .search-form{display:flex;gap:8px;}
.niki-component-search input[type="search"]{min-width:0;}
.niki-component-search input[type="submit"]{cursor:pointer;}

/* BUILDER */
.niki-builder-page{min-height:60vh;}
.niki-section{width:100%;}
.niki-content-row{width:100%;}
.niki-content-row .niki-container{width:min(calc(100% - 40px),var(--niki-content-width));margin-inline:auto;}
.niki-content-row-grid{display:grid!important;width:100%!important;align-items:start!important;}
.niki-content-row.is-1-columns .niki-content-row-grid{grid-template-columns: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-column{min-width:0!important;width:100%!important;}

/* Builder row controls */
.niki-content-row.niki-column-gap-small .niki-content-row-grid{gap:14px!important;}
.niki-content-row.niki-column-gap-normal .niki-content-row-grid{gap:28px!important;}
.niki-content-row.niki-column-gap-large .niki-content-row-grid{gap:48px!important;}
.niki-content-row.niki-section-padding-none{padding-top:0!important;padding-bottom:0!important;}
.niki-content-row.niki-section-padding-small{padding-top:24px!important;padding-bottom:24px!important;}
.niki-content-row.niki-section-padding-normal{padding-top:48px!important;padding-bottom:48px!important;}
.niki-content-row.niki-section-padding-large{padding-top:80px!important;padding-bottom:80px!important;}

/* Image component
   Visual image sizing/alignment is handled by frontend.css. */
.niki-content-column.is-button{display:flex;align-items:center;}
.niki-content-column.is-button .niki-button{margin-top:0;}

/* Form structure */
.niki-form-component{width:100%;max-width:620px;}
.niki-form-component form{margin:0;}
.niki-form-component label{display:block;}
.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 textarea,
.niki-form-component select{width:100%;}
.niki-form-component textarea{min-height:150px;resize:vertical;}
.niki-form-component input[type="submit"],
.niki-form-component button,
.niki-form-component .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}

/* Gallery structure */
.niki-gallery-component{display:grid;width:100%;align-items:stretch;}
.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:32px;}
.niki-gallery-component figure,.niki-gallery-component .niki-gallery-item{margin:0;overflow:hidden;}
.niki-gallery-component .niki-gallery-item>a{display:block;width:100%;height:100%;cursor:zoom-in;}
.niki-gallery-component img,.niki-gallery-component .niki-gallery-item img{display:block;width:100%;height:auto;object-fit:cover;}

/* Menu component */
.niki-menu-component{width:100%;}
.niki-menu-component-list{display:flex;margin:0;padding:0;list-style:none;}
.niki-menu-component.is-vertical .niki-menu-component-list{flex-direction:column;}
.niki-menu-component.is-horizontal .niki-menu-component-list,
.niki-menu-component.is-pills .niki-menu-component-list{flex-direction:row;flex-wrap:wrap;}
.niki-menu-component.align-left .niki-menu-component-list{justify-content:flex-start;text-align:left;}
.niki-menu-component.align-center .niki-menu-component-list{justify-content:center;text-align:center;}
.niki-menu-component.align-right .niki-menu-component-list{justify-content:flex-end;text-align:right;}
.niki-menu-component-list a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}

/* Page menu */
.niki-page-menu-block{width:100%;}
.niki-page-menu-block .niki-component-menu-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;}
.niki-page-menu-block .niki-component-menu-list a{display:block;text-decoration:none;}

/* Spacer / legacy spacing */
.niki-spacer.is-small{height:32px;}
.niki-spacer.is-medium{height:68px;}
.niki-spacer.is-large{height:120px;}

/* LIGHTBOX FUNCTION */
.niki-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;box-sizing:border-box;}
.niki-lightbox.is-active{display:flex;}
body.niki-lightbox-open{overflow:hidden;}
.niki-lightbox-image{display:block;width:auto;max-width:min(100%,1100px);max-height:82vh;object-fit:contain;}
.niki-lightbox-close,.niki-lightbox-prev,.niki-lightbox-next{position:absolute;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.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%);}

/* FOOTER STRUCTURE */
.niki-site-footer{width:100%;}
.niki-footer-inner{text-align:center;}
.niki-site-footer .niki-layout{align-items:center;}
.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-site-footer .niki-component-menu-list{justify-content:center;}
.niki-site-footer .niki-component-login{display:flex;justify-content:center;}
.niki-footer-socials{display:flex;flex-wrap:wrap;align-items:center;}
.niki-footer-social-link{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;}
.niki-footer-social-link img{display:block!important;object-fit:contain!important;}

/* BLOG / NEWS FUNCTION */
.niki-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.niki-blog-card{overflow:hidden;min-width:0;}
.niki-blog-card-image{display:block;overflow:hidden;}
.niki-blog-card-image img{display:block;width:100%;height:auto;object-fit:cover;}
.niki-blog-pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;}
.niki-single-news{width:100%;}
.niki-news-header,.niki-news-featured-image,.niki-news-body{margin-inline:auto;}
.niki-news-featured-image{overflow:hidden;}
.niki-news-featured-image img{display:block;width:100%;height:auto;}
.niki-news-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;}
.niki-news-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.niki-news-image-item{margin:0;overflow:hidden;}
.niki-news-image-item a{display:block;cursor:zoom-in;}
.niki-news-image-item img{display:block;width:100%;height:auto;object-fit:cover;}
.niki-news-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;}
.niki-news-nav-item{flex:1!important;min-width:0!important;}
.niki-news-nav-item.is-next{text-align:right!important;}
.niki-similar-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.niki-similar-news-card{overflow:hidden;min-width:0;}
.niki-similar-news-image{display:block;overflow:hidden;}
.niki-similar-news-image img{display:block;width:100%;height:auto;object-fit:cover;}

/* AUTHOR FUNCTION */
.niki-author-profile{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;}
.niki-author-details{min-width:0;}
.niki-author-avatar,.niki-author-avatar-image{width:120px;height:120px;}
.niki-author-avatar-image{display:block;object-fit:cover;}
.niki-author-posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.niki-author-post-card{overflow:hidden;min-width:0;}
.niki-author-post-image{display:block;overflow:hidden;}
.niki-author-post-image img{display:block;width:100%;height:auto;object-fit:cover;}
.niki-author-pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;}

/* COMING SOON / 404 / SEARCH STRUCTURE */
.niki-coming{width:100%;text-align:center;}
.niki-coming-inner{max-width:1200px;margin:auto;}
.niki-coming-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.niki-coming-button,.niki-404-home{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.niki-404-content,.niki-search-empty{margin-inline:auto;text-align:center;}
.niki-404-search,.niki-search-empty{max-width:700px;}
.niki-404-search form,.niki-search-empty form{display:flex;}
.niki-404-search input[type="search"],.niki-search-empty input[type="search"]{flex:1;min-width:0;}
.niki-404-search input[type="submit"],.niki-search-empty input[type="submit"]{cursor:pointer;}

/* BACK TO TOP FUNCTION */
.niki-back-to-top{position:fixed;left:50%;bottom:24px;z-index:9999;transform:translateX(-50%) translateY(18px);display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;cursor:pointer;}
.niki-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.niki-back-to-top-arrow{position:relative!important;display:block!important;}

/* RESPONSIVE FUNCTION */
@media(max-width:1100px){
	.niki-blog-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{flex-direction:column;justify-content:center;text-align:center;}
	.niki-site-header.is-three-columns .niki-header-inner{display:flex;flex-direction:column;justify-content:center;text-align:center;}
	.niki-header-brand-column,.niki-header-menu-column,.niki-header-actions-column{justify-content:center;width:100%;}
	.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,.niki-similar-news-grid{grid-template-columns:1fr;}
	.niki-author-posts-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.niki-coming-grid{grid-template-columns:1fr;}
	.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;}
}
@media(max-width:782px){
	.niki-container,.niki-content-row .niki-container{width:min(calc(100% - 28px),var(--niki-content-width));}
	.niki-header-inner{flex-direction:column;}
	.niki-site-header .custom-logo{max-width:min(var(--niki-logo-width),280px);}
}
@media(max-width:760px){
	.niki-content-row.niki-column-gap-large .niki-content-row-grid{gap:28px!important;}
	.niki-content-row.niki-section-padding-large{padding-top:56px!important;padding-bottom:56px!important;}
	.niki-blog-grid,.niki-author-posts-grid{grid-template-columns:1fr;}
	.niki-author-profile{grid-template-columns:1fr;}
}
@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-lightbox-image{max-height:78vh;}
	.niki-lightbox-prev{left:12px;}
	.niki-lightbox-next{right:12px;}
	.niki-lightbox-close{top:12px;right:12px;}
}
@media(max-width:600px){
	.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%;}
}


/* BUILDER ADMIN HELPERS   retained compatibility */
/* Row admin labels + reliable move icons */
.niki-block-title{display:inline-block;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
.niki-row-move{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;text-decoration:none!important;border-radius:7px;}
.niki-row-move .dashicons{width:18px;height:18px;font-size:18px;line-height:18px;}
.niki-row-move:hover{background:#F4F2FF;}
.niki-field-full small{display:block;margin-top:6px;color:#667085;font-size:12px;line-height:1.45;}

