/* NomaKits Back to Top 1.3 — self-contained SVG UI, no CDN or icon fonts.
   #nkbt-back-to-top is deliberately isolated from WordPress theme button styles. */
.nkbt-button {
  --nkbt-bg:#4F46E5; --nkbt-icon:#FFFFFF; --nkbt-hover:#3730A3; --nkbt-track:#E3E4F1;
  --nkbt-glyph-size:58%; --nkbt-style-radius:50%;
  --nkbt-desktop-size:52px; --nkbt-tablet-size:46px; --nkbt-mobile-size:42px;
  --nkbt-desktop-bottom:24px; --nkbt-desktop-side:24px;
  --nkbt-tablet-bottom:20px; --nkbt-tablet-side:20px;
  --nkbt-mobile-bottom:16px; --nkbt-mobile-side:16px;
  --nkbt-size:var(--nkbt-desktop-size);
  --nkbt-offset-bottom:var(--nkbt-desktop-bottom);
  --nkbt-offset-side:var(--nkbt-desktop-side);
  --nkbt-button-w:var(--nkbt-size); --nkbt-button-h:var(--nkbt-size);
  --nkbt-surface:var(--nkbt-bg); --nkbt-fg:var(--nkbt-icon);
  position:fixed; z-index:9998;
  right:auto; left:auto;
  bottom:calc(var(--nkbt-offset-bottom) + env(safe-area-inset-bottom, 0px));
  width:var(--nkbt-button-w); height:var(--nkbt-button-h);
  min-width:0; min-height:0; max-width:none; max-height:none;
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  padding:0; margin:0; border:0 solid transparent;
  border-radius:var(--nkbt-radius-final,var(--nkbt-style-radius));
  background:var(--nkbt-surface); background-image:none;
  color:var(--nkbt-fg); box-shadow:0 4px 16px rgba(15,23,42,.12);
  font-family:inherit; line-height:1; font-size:16px; font-weight:400;
  text-align:center; text-decoration:none; text-shadow:none; text-transform:none;
  letter-spacing:normal; cursor:pointer;
  appearance:none; -webkit-appearance:none; -webkit-tap-highlight-color:transparent;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translate3d(0,11px,0) scale(.96);
  transition:opacity .28s ease, visibility 0s linear .28s,
    transform .30s cubic-bezier(.22,.78,.25,1), background-color .2s ease;
  isolation:isolate; touch-action:manipulation;
}
.nkbt-button.nkbt-position-left { left:calc(var(--nkbt-offset-side) + env(safe-area-inset-left, 0px)); right:auto; }
.nkbt-button.nkbt-position-right { right:calc(var(--nkbt-offset-side) + env(safe-area-inset-right, 0px)); left:auto; }
.nkbt-button.nkbt-is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0) scale(1); transition-delay:0s; }
.nkbt-button .nkbt-glyph { position:relative; display:inline-flex; flex:none; align-items:center; justify-content:center; z-index:2; width:var(--nkbt-glyph-size); height:var(--nkbt-glyph-size); color:inherit; pointer-events:none; padding:0; margin:0; border:0; background:none; box-shadow:none; }
.nkbt-button .nkbt-glyph svg.nkbt-arrow-svg { display:block; box-sizing:border-box; width:100%; height:100%; padding:0; margin:0; border:0; background:none; fill:none; stroke:currentColor; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round; overflow:visible; }
.nkbt-button .nkbt-glyph svg.nkbt-arrow-svg path { fill:none; stroke:currentColor; stroke-width:inherit; }
.nkbt-button .nkbt-progress-ring, .nkbt-button .nkbt-decor { display:none; pointer-events:none; position:absolute; box-sizing:border-box; }
.nkbt-button:focus-visible { outline:3px solid var(--nkbt-bg); outline-offset:4px; }
.nkbt-button:active { filter:brightness(.96); }
.nkbt-button.nkbt-motion-fade { transform:none; }
.nkbt-button.nkbt-motion-fade.nkbt-is-visible { transform:none; }
.nkbt-button.nkbt-motion-none { transition:none; }
.nkbt-button.nkbt-motion-none.nkbt-is-visible { transform:none; }
@media(hover:hover) and (pointer:fine) {
  .nkbt-button.nkbt-is-visible:hover { transform:translate3d(0,-3px,0); background:var(--nkbt-hover); }
}

/* All style silhouettes are controlled by --nkbt-style-radius; optional custom
   radius comes from inline --nkbt-radius-final and works on all 20 choices. */
.nkbt-style-rounded { --nkbt-style-radius:14px; }
.nkbt-style-pill { --nkbt-style-radius:999px; --nkbt-button-h:calc(var(--nkbt-size) * 1.18); }
.nkbt-style-glass { --nkbt-style-radius:16px; --nkbt-surface:color-mix(in srgb,var(--nkbt-bg) 85%,white); }
.nkbt-style-orbit { box-shadow:none; }
.nkbt-style-topline { --nkbt-style-radius:13px; }
.nkbt-style-tile { --nkbt-style-radius:11px; box-shadow:none; }
.nkbt-style-halo { --nkbt-style-radius:50%; }
.nkbt-style-framed { --nkbt-style-radius:13px; --nkbt-surface:transparent; --nkbt-fg:var(--nkbt-bg); border:2px solid var(--nkbt-bg); box-shadow:none; }
.nkbt-style-chevron { --nkbt-style-radius:50%; }
.nkbt-style-underline { --nkbt-style-radius:12px; }
.nkbt-style-ladder { --nkbt-style-radius:50%; }
.nkbt-style-capsule { --nkbt-style-radius:999px; --nkbt-button-w:calc(var(--nkbt-size) * 1.22); --nkbt-button-h:calc(var(--nkbt-size) * .92); }
.nkbt-style-corners { --nkbt-style-radius:12px; --nkbt-surface:transparent; --nkbt-fg:var(--nkbt-bg); box-shadow:none; }
.nkbt-style-badge { --nkbt-style-radius:50%; }
.nkbt-style-dotted { --nkbt-style-radius:50%; --nkbt-surface:transparent; --nkbt-fg:var(--nkbt-bg); border:2px dashed var(--nkbt-bg); box-shadow:none; }
.nkbt-style-outline { --nkbt-surface:transparent; --nkbt-fg:var(--nkbt-bg); border:2px solid var(--nkbt-bg); box-shadow:none; }
.nkbt-style-progress, .nkbt-style-arc { --nkbt-surface:#FFFFFF; --nkbt-fg:var(--nkbt-bg); }
.nkbt-style-arc { box-shadow:none; }
.nkbt-style-progress > .nkbt-progress-ring,
.nkbt-style-orbit > .nkbt-progress-ring,
.nkbt-style-arc > .nkbt-progress-ring {
  display:block; inset:2px; border-radius:var(--nkbt-radius-final,var(--nkbt-style-radius));
  background:conic-gradient(var(--nkbt-bg) calc(var(--nkbt-progress,0) * 1%),var(--nkbt-track) 0);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));
}
.nkbt-style-orbit > .nkbt-progress-ring,
.nkbt-style-arc > .nkbt-progress-ring {
  inset:-5px;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 1.3px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 1.3px));
}
.nkbt-style-halo > .nkbt-decor { display:block; inset:5px; border-radius:var(--nkbt-radius-final,50%); border:1px solid color-mix(in srgb,var(--nkbt-icon) 55%,transparent); }
.nkbt-style-corners > .nkbt-decor {
  display:block; inset:2px; border-radius:inherit;
  background:linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left top/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left top/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right top/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right top/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left bottom/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left bottom/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right bottom/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right bottom/2px 13px no-repeat;
}
.nkbt-style-badge > .nkbt-decor { display:block; inset:7px; border:1px solid color-mix(in srgb,var(--nkbt-icon) 70%,transparent); border-radius:var(--nkbt-radius-final,50%); }
.nkbt-style-corners .nkbt-glyph { width:calc(var(--nkbt-glyph-size) * .78); height:calc(var(--nkbt-glyph-size) * .78); }
.nkbt-style-badge .nkbt-glyph { width:calc(var(--nkbt-glyph-size) * .82); height:calc(var(--nkbt-glyph-size) * .82); }
@media(hover:hover) and (pointer:fine) {
  .nkbt-style-outline.nkbt-is-visible:hover,
  .nkbt-style-framed.nkbt-is-visible:hover,
  .nkbt-style-dotted.nkbt-is-visible:hover,
  .nkbt-style-corners.nkbt-is-visible:hover { color:var(--nkbt-icon); border-color:var(--nkbt-hover); }
  .nkbt-style-progress.nkbt-is-visible:hover,
  .nkbt-style-arc.nkbt-is-visible:hover { background:#FFFFFF; color:var(--nkbt-hover); }
  .nkbt-style-glass.nkbt-is-visible:hover { background:var(--nkbt-hover); }
}

/* Explicit ID guard. Normal themes / Elementor can define button, svg, span,
   ::before styles; these rules are local to this *one* fixed floating control. */
#nkbt-back-to-top.nkbt-button {
  position:fixed!important; display:inline-flex!important; appearance:none!important; -webkit-appearance:none!important;
  box-sizing:border-box!important; width:var(--nkbt-button-w)!important; height:var(--nkbt-button-h)!important;
  min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important;
  padding:0!important; margin:0!important; border-radius:var(--nkbt-radius-final,var(--nkbt-style-radius))!important;
  border-width:0!important; border-style:solid!important; border-color:transparent!important;
  background:var(--nkbt-surface)!important; color:var(--nkbt-fg)!important;
  font-family:inherit!important; line-height:1!important; font-size:16px!important; text-align:center!important;
  text-decoration:none!important; text-transform:none!important; text-shadow:none!important; letter-spacing:normal!important;
  box-shadow:0 4px 16px rgba(15,23,42,.12)!important; isolation:isolate!important;
  align-items:center!important; justify-content:center!important; gap:0!important;
  overflow:visible!important; cursor:pointer!important; outline:0 solid transparent!important;
  bottom:calc(var(--nkbt-offset-bottom) + env(safe-area-inset-bottom, 0px))!important;
  z-index:9998!important; filter:none!important;
}
#nkbt-back-to-top.nkbt-position-right { right:calc(var(--nkbt-offset-side) + env(safe-area-inset-right, 0px))!important; left:auto!important; }
#nkbt-back-to-top.nkbt-position-left { left:calc(var(--nkbt-offset-side) + env(safe-area-inset-left, 0px))!important; right:auto!important; }
#nkbt-back-to-top .nkbt-glyph { display:flex!important; flex:none!important; position:relative!important; z-index:2!important;
  width:var(--nkbt-glyph-size)!important; height:var(--nkbt-glyph-size)!important;
  min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:0!important;
  background:none!important; box-shadow:none!important; opacity:1!important; transform:none!important;
  align-items:center!important; justify-content:center!important; color:inherit!important; line-height:1!important;
  overflow:visible!important; pointer-events:none!important;
}
#nkbt-back-to-top .nkbt-glyph::before,
#nkbt-back-to-top .nkbt-glyph::after,
#nkbt-back-to-top.nkbt-button::before,
#nkbt-back-to-top.nkbt-button::after { content:none!important; display:none!important; }
#nkbt-back-to-top .nkbt-glyph svg.nkbt-arrow-svg { display:block!important; box-sizing:border-box!important;
  width:100%!important; height:100%!important; min-width:0!important; min-height:0!important; max-width:none!important;
  padding:0!important; margin:0!important; border:0!important; outline:0!important;
  background:transparent!important; border-radius:0!important; box-shadow:none!important;
  fill:none!important; stroke:currentColor!important; stroke-width:2.8px!important;
  stroke-linecap:round!important; stroke-linejoin:round!important; overflow:visible!important;
  transform:none!important; visibility:visible!important; opacity:1!important;
}
#nkbt-back-to-top .nkbt-glyph svg.nkbt-arrow-svg path { display:inline!important;
  fill:none!important; stroke:currentColor!important; stroke-width:inherit!important;
  stroke-linecap:round!important; stroke-linejoin:round!important; opacity:1!important;
}
#nkbt-back-to-top .nkbt-progress-ring,
#nkbt-back-to-top .nkbt-decor { position:absolute!important; box-sizing:border-box!important;
  padding:0!important; margin:0!important; border-width:0!important;
  pointer-events:none!important; transform:none!important; opacity:1!important; box-shadow:none!important;
}
#nkbt-back-to-top .nkbt-progress-ring::before,
#nkbt-back-to-top .nkbt-progress-ring::after,
#nkbt-back-to-top .nkbt-decor::before,
#nkbt-back-to-top .nkbt-decor::after { content:none!important; display:none!important; }
#nkbt-back-to-top.nkbt-style-pill { box-shadow:0 4px 16px rgba(15,23,42,.12)!important; }
#nkbt-back-to-top.nkbt-style-orbit,
#nkbt-back-to-top.nkbt-style-arc,
#nkbt-back-to-top.nkbt-style-corners,
#nkbt-back-to-top.nkbt-style-tile,
#nkbt-back-to-top.nkbt-style-framed,
#nkbt-back-to-top.nkbt-style-dotted,
#nkbt-back-to-top.nkbt-style-outline { box-shadow:none!important; }
#nkbt-back-to-top.nkbt-style-outline,
#nkbt-back-to-top.nkbt-style-framed,
#nkbt-back-to-top.nkbt-style-dotted { border:2px solid var(--nkbt-bg)!important; }
#nkbt-back-to-top.nkbt-style-dotted { border-style:dashed!important; }
#nkbt-back-to-top.nkbt-style-corners .nkbt-glyph { width:calc(var(--nkbt-glyph-size) * .78)!important; height:calc(var(--nkbt-glyph-size) * .78)!important; }
#nkbt-back-to-top.nkbt-style-badge .nkbt-glyph { width:calc(var(--nkbt-glyph-size) * .82)!important; height:calc(var(--nkbt-glyph-size) * .82)!important; }
#nkbt-back-to-top .nkbt-progress-ring,
#nkbt-back-to-top .nkbt-decor { display:none!important; }
#nkbt-back-to-top:is(.nkbt-style-progress,.nkbt-style-orbit,.nkbt-style-arc) > .nkbt-progress-ring,
#nkbt-back-to-top:is(.nkbt-style-halo,.nkbt-style-corners,.nkbt-style-badge) > .nkbt-decor { display:block!important; }
#nkbt-back-to-top:is(.nkbt-style-progress,.nkbt-style-orbit,.nkbt-style-arc) > .nkbt-progress-ring {
  background:conic-gradient(var(--nkbt-bg) calc(var(--nkbt-progress,0) * 1%),var(--nkbt-track) 0)!important;
  border-radius:var(--nkbt-radius-final,var(--nkbt-style-radius))!important;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))!important;
  mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))!important;
}
#nkbt-back-to-top.nkbt-style-progress > .nkbt-progress-ring { inset:2px!important; }
#nkbt-back-to-top:is(.nkbt-style-orbit,.nkbt-style-arc) > .nkbt-progress-ring {
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 1.3px))!important;
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 1.3px))!important;
}
#nkbt-back-to-top:is(.nkbt-style-orbit,.nkbt-style-arc) > .nkbt-progress-ring { inset:-5px!important; }
#nkbt-back-to-top.nkbt-style-halo > .nkbt-decor { inset:5px!important; border:1px solid color-mix(in srgb,var(--nkbt-icon) 55%,transparent)!important; }
#nkbt-back-to-top.nkbt-style-badge > .nkbt-decor { inset:7px!important; border:1px solid color-mix(in srgb,var(--nkbt-icon) 70%,transparent)!important; }
#nkbt-back-to-top.nkbt-style-corners > .nkbt-decor {
  inset:2px!important;
  background:linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left top/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left top/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right top/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right top/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left bottom/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) left bottom/2px 13px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right bottom/13px 2px no-repeat,
  linear-gradient(var(--nkbt-bg),var(--nkbt-bg)) right bottom/2px 13px no-repeat!important;
}
#nkbt-back-to-top:focus:not(:focus-visible) { outline:0!important; }
#nkbt-back-to-top:focus-visible { outline:3px solid var(--nkbt-bg)!important; outline-offset:4px!important; }
@media(hover:hover) and (pointer:fine) {
 #nkbt-back-to-top.nkbt-is-visible:hover { background:var(--nkbt-hover)!important; transform:translate3d(0,-3px,0); box-shadow:0 5px 18px rgba(15,23,42,.15)!important; }
 #nkbt-back-to-top:is(.nkbt-style-outline,.nkbt-style-framed,.nkbt-style-dotted,.nkbt-style-corners).nkbt-is-visible:hover { color:var(--nkbt-icon)!important; border-color:var(--nkbt-hover)!important; }
 #nkbt-back-to-top:is(.nkbt-style-progress,.nkbt-style-arc).nkbt-is-visible:hover { background:#FFFFFF!important; color:var(--nkbt-hover)!important; }
 #nkbt-back-to-top:is(.nkbt-style-orbit,.nkbt-style-arc,.nkbt-style-corners,.nkbt-style-tile,.nkbt-style-framed,.nkbt-style-dotted,.nkbt-style-outline).nkbt-is-visible:hover { box-shadow:none!important; }
}
@media(max-width:1024px) and (min-width:601px) {
 .nkbt-button { --nkbt-size:var(--nkbt-tablet-size); --nkbt-offset-bottom:var(--nkbt-tablet-bottom); --nkbt-offset-side:var(--nkbt-tablet-side); }
 .nkbt-button.nkbt-hide-tablet, #nkbt-back-to-top.nkbt-hide-tablet { display:none!important; }
}
@media(max-width:600px) {
 .nkbt-button { --nkbt-size:var(--nkbt-mobile-size); --nkbt-offset-bottom:var(--nkbt-mobile-bottom); --nkbt-offset-side:var(--nkbt-mobile-side); }
 .nkbt-button.nkbt-hide-mobile, #nkbt-back-to-top.nkbt-hide-mobile { display:none!important; }
}
@media(prefers-reduced-motion:reduce) {
 .nkbt-button, .nkbt-button.nkbt-is-visible, .nkbt-button.nkbt-is-visible:hover { transition:none!important; transform:none!important; }
}
