/* NIKMAA – WordPress / Elementor compatibility layer
   Elementor wraps every block in extra containers/widgets with their own spacing, display and
   image resets. These rules neutralise that so the original design renders unchanged. */

/* no-JS safety: never hide content if scripts fail */
.no-js .reveal{opacity:1;transform:none}
.no-js .page-loader{display:none}
.screen-reader-text{position:absolute;left:-9999px}

/* Elementor containers that carry the design's classes */
.e-con.nk-el{
  --display:block;--gap:0px;--row-gap:0px;--column-gap:0px;--widgets-spacing:0px;--kit-widget-spacing:0px;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --padding-block-start:0px;--padding-inline-end:0px;--padding-block-end:0px;--padding-inline-start:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;
  --min-height:0px;--border-radius:0;
}
.e-con.nk-el > .e-con-inner{padding:0}
/* <section> keeps the design's vertical rhythm (section{padding:96px 0}) – class rules (.page-hero…) still override */
section.e-con.nk-el{
  --padding-top:96px;--padding-bottom:96px;--padding-block-start:96px;--padding-block-end:96px;
}
.nk-el > .elementor-widget{margin:0;width:auto;max-width:100%}
.nk-el > .elementor-widget-nikmaa_text{width:auto}
/* HTML widgets hold absolutely-positioned decor (hero video, blobs, canvas): let it position against the section */
.nk-el > .elementor-widget-html,
.nk-el > .elementor-widget-html > .elementor-widget-container{position:static}
.elementor-widget-html > .elementor-widget-container > *:first-child{margin-top:0}
:root{--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px}

/* Elementor's global resets */
.elementor a{box-shadow:none}
.elementor .btn{text-decoration:none}
body.nikmaa-theme .elementor-section-wrap{display:block}

/* Elementor editor / preview: show everything, kill effects that fight the editor */
body.nk-builder .reveal,
body.elementor-editor-active .reveal,
body.elementor-editor-preview .reveal{opacity:1!important;transform:none!important}
body.nk-builder .page-loader,
body.elementor-editor-active .page-loader,
body.nk-builder .cursor-glow,body.nk-builder .cursor-dot,
body.elementor-editor-active .cursor-glow,body.elementor-editor-active .cursor-dot{display:none!important}
body.elementor-editor-active .site-header{position:relative}

/* Blog / plain pages */
.entry-content{max-width:820px}
.entry-content h2,.entry-content h3,.entry-content h4{margin:1.6em 0 .6em}
.entry-content p,.entry-content li{color:var(--paper-dim);font-size:16px;line-height:1.75;margin-bottom:1em}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content a{color:var(--marigold);text-decoration:underline}
.entry-content img{max-width:100%;height:auto;border-radius:var(--radius-sm)}
.entry-content blockquote{border-left:3px solid var(--teal);margin:1.5em 0;padding:.2em 0 .2em 1.2em;color:var(--paper)}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px}
.entry-thumb{margin-bottom:28px;border-radius:var(--radius);overflow:hidden}
.post-card-meta{font-family:var(--mono);font-size:11.5px;color:var(--paper-dim);margin-bottom:8px}
.post-card h3 a{color:inherit}
.nk-pagination{margin-top:40px;text-align:center}
.nk-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 3px}
.nk-pagination .current{background:var(--marigold);color:#0F0D0A}
.search-form{max-width:520px}

/* Elementor's <img> reset (".elementor img", specificity 0,1,1) beats the design's image rules – restore them */
.elementor .logo-img{height:60px; width:auto; display:block; transition:transform .4s var(--ease);}
