/**
 * Nevrivo Contact Hub Lite - human-readable stylesheet source.
 * Shipped directly without minification or a build step.
 * License: GPL-2.0-or-later.
 */

.nch-root,.nch-root * {
    box-sizing:border-box
}
.nch-root {
    position:fixed;
    z-index:99990;
    display:flex;
    align-items:center;
    gap:10px;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.nch-root[hidden] {
    display:none!important
}
.nch-button {
    position:relative;
    display:grid;
    place-items:center;
    width:var(--nch-size);
    height:var(--nch-size);
    min-width:40px;
    min-height:40px;
    padding:0;
    border:0;
    border-radius:999px;
    background:var(--nch-bg);
    color:var(--nch-fg);
    box-shadow:0 11px 30px rgba(0,0,0,.2);
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent
}
.nch-button:hover {
    color:var(--nch-fg);
    text-decoration:none
}
.nch-button:focus-visible,.nch-bubble a:focus-visible,.nch-bubble-close:focus-visible {
    outline:3px solid rgba(59,130,246,.85);
    outline-offset:4px
}
.nch-icon {
    display:grid;
    place-items:center;
    width:52%;
    height:52%
}
.nch-icon svg {
    width:100%;
    height:100%;
    fill:currentColor
}
.nch-top-left {
    top:calc(var(--nch-y)+env(safe-area-inset-top,0px));
    left:calc(var(--nch-x)+env(safe-area-inset-left,0px))
}
.nch-top-right {
    top:calc(var(--nch-y)+env(safe-area-inset-top,0px));
    right:calc(var(--nch-x)+env(safe-area-inset-right,0px))
}
.nch-bottom-left {
    bottom:calc(var(--nch-y)+env(safe-area-inset-bottom,0px));
    left:calc(var(--nch-x)+env(safe-area-inset-left,0px))
}
.nch-bottom-right {
    bottom:calc(var(--nch-y)+env(safe-area-inset-bottom,0px));
    right:calc(var(--nch-x)+env(safe-area-inset-right,0px))
}
.nch-middle-left {
    top:50%;
    left:calc(var(--nch-x)+env(safe-area-inset-left,0px));
    transform:translateY(-50%)
}
.nch-middle-right {
    top:50%;
    right:calc(var(--nch-x)+env(safe-area-inset-right,0px));
    transform:translateY(-50%)
}
 .nch-bubble {
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    max-width:min(340px,calc(100vw - 100px));
    padding:11px 12px;
    border-radius:14px;
    background:var(--nch-bubble-bg);
    color:var(--nch-bubble-fg);
    box-shadow:0 12px 28px rgba(0,0,0,.2);
    opacity:0;
    visibility:hidden;
    transform:translateY(5px) scale(.98);
    transition:.18s ease
}
.nch-bubble.is-open {
    opacity:1;
    visibility:visible;
    transform:none
}
.nch-bubble a {
    color:inherit;
    text-decoration:none
}
.nch-bubble-text {
    font-size:13px;
    font-weight:650;
    line-height:1.25
}
.nch-bubble-cta {
    white-space:nowrap;
    padding:7px 9px;
    border-radius:9px;
    background:rgba(255,255,255,.14);
    font-size:12px;
    font-weight:800
}
.nch-bubble-close {
    position:absolute;
    top:-8px;
    right:-8px;
    width:23px;
    height:23px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#111;
    box-shadow:0 3px 9px rgba(0,0,0,.18);
    font-size:16px;
    line-height:23px;
    cursor:pointer
}
 .nch-bottom-right .nch-bubble,.nch-top-right .nch-bubble,.nch-middle-right .nch-bubble {
    order:-1
}
.nch-effect-pulse .nch-button {
    animation:nch-pulse 1.8s ease-in-out infinite
}
.nch-effect-glow .nch-button {
    animation:nch-glow 2s ease-in-out infinite
}
@keyframes nch-pulse {
    0%,100% {
        transform:scale(1)
    }
    50% {
        transform:scale(1.08)
    }
}
@keyframes nch-glow {
    0%,100% {
        box-shadow:0 11px 30px rgba(0,0,0,.2)
    }
    50% {
        box-shadow:0 11px 30px rgba(0,0,0,.2),0 0 22px rgba(37,211,102,.32);
        box-shadow:0 11px 30px rgba(0,0,0,.2),0 0 22px color-mix(in srgb,var(--nch-bg) 72%,transparent)
    }
}
 .nch-backtop {
    appearance:none;
    border:0;
    background:transparent;
    padding:0;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .2s ease,transform .2s ease;
    pointer-events:none
}
.nch-backtop.is-visible {
    opacity:1;
    transform:none;
    pointer-events:auto
}
.nch-middle-left.nch-backtop.is-visible,.nch-middle-right.nch-backtop.is-visible {
    transform:translateY(-50%)
}
 .nch-page-progress {
    position:fixed;
    z-index:99995;
    left:0;
    width:100%;
    height:var(--nch-progress-height);
    pointer-events:none
}
.nch-page-progress-top {
    top:env(safe-area-inset-top,0px)
}
.admin-bar .nch-page-progress-top {
    top:calc(32px+env(safe-area-inset-top,0px))
}
.nch-page-progress-bottom {
    bottom:env(safe-area-inset-bottom,0px)
}
.nch-page-progress span {
    display:block;
    width:0;
    height:100%;
    background:var(--nch-progress-color);
    transition:width .08s linear
}
 @media(max-width:782px) {
    .admin-bar .nch-page-progress-top {
        top:calc(46px+env(safe-area-inset-top,0px))
    }
    .nch-bubble {
        max-width:calc(100vw - 88px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))
    }
}
 @media(prefers-reduced-motion:reduce) {
    .nch-root,.nch-button,.nch-bubble,.nch-backtop,.nch-page-progress span {
        animation:none!important;
        transition:none!important
    }
}

/* Mobile animation robustness */
 .nch-effect-pulse .nch-button {
    will-change:transform;
    transform-origin:center center
}
 .nch-effect-glow .nch-button {
    will-change:box-shadow
}
 @keyframes nch-mobile-pulse {
    0%,100% {
        transform:scale(1)
    }
    45% {
        transform:scale(1.12)
    }
    65% {
        transform:scale(1.04)
    }
}
 @keyframes nch-mobile-glow {
    0%,100% {
        box-shadow:0 11px 30px rgba(0,0,0,.2)
    }
    50% {
        box-shadow:0 11px 30px rgba(0,0,0,.2),0 0 14px rgba(37,211,102,.26),0 0 24px rgba(37,211,102,.16);
        box-shadow:0 11px 30px rgba(0,0,0,.2),0 0 14px color-mix(in srgb,var(--nch-bg) 55%,transparent),0 0 24px color-mix(in srgb,var(--nch-bg) 35%,transparent)
    }
}
 @media(max-width:782px) {
    .nch-effect-pulse .nch-button {
        animation:nch-mobile-pulse 1.55s ease-in-out infinite
    }
     .nch-effect-glow .nch-button {
        animation:nch-mobile-glow 1.8s ease-in-out infinite
    }
}

/* Mobile animation restart reliability */
 .nch-root,.nch-button,.nch-icon {
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
 .nch-root.nch-mobile-rearm .nch-button,.nch-root.nch-mobile-rearm .nch-icon {
    animation-name:none!important;
}

/* Middle-position stack shift used by collision prevention */
 .nch-middle-left,.nch-middle-right {
    top:calc(50%+var(--nch-mid-shift,0px));
    transform:translateY(-50%)
}

/* v1.3.7 — Signature Glass: real frontend button + premium CTA */
 .nch-style-signature-glass {
    isolation:isolate;
    gap:0;
    overflow:visible;
}
 .nch-style-signature-glass:before {
    content:"";
    position:absolute;
    z-index:-4;
    inset:-12px -16px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:calc(var(--nch-size) * .62);
    background:radial-gradient(circle at 20% 18%,rgba(120,129,255,.16),transparent 34%),radial-gradient(circle at 84% 44%,rgba(37,211,102,.10),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.28),rgba(247,249,255,.11) 52%,rgba(255,255,255,.05));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 18px 50px rgba(31,41,55,.08);
    backdrop-filter:blur(15px) saturate(135%);
    -webkit-backdrop-filter:blur(15px) saturate(135%);
    pointer-events:none;
}
 .nch-style-signature-glass .nch-wa-button {
    position:relative;
    overflow:visible;
    isolation:isolate;
    flex:0 0 var(--nch-size);
    border:1px solid rgba(255,255,255,.72);
    background:radial-gradient(circle at 33% 20%,rgba(255,255,255,.88) 0,rgba(255,255,255,.34) 12%,transparent 27%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.20),transparent 56%),linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.04) 38%,rgba(0,0,0,.10) 74%,rgba(0,0,0,.20)),var(--nch-bg);
    box-shadow:0 18px 34px color-mix(in srgb,var(--nch-bg) 28%,rgba(0,0,0,.25)),0 7px 16px rgba(0,0,0,.20),inset 0 2px 2px rgba(255,255,255,.88),inset 0 -9px 16px rgba(0,0,0,.16),inset 8px 0 18px rgba(255,255,255,.10),0 0 0 3px rgba(255,255,255,.18);
    transform:translateZ(0);
}
 .nch-style-signature-glass .nch-wa-button:before {
    content:"";
    position:absolute;
    z-index:1;
    left:13%;
    right:13%;
    top:7%;
    height:29%;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.38) 56%,rgba(255,255,255,0));
    transform:rotate(-14deg);
    filter:blur(.15px);
    opacity:.84;
    pointer-events:none;
}
 .nch-style-signature-glass .nch-wa-button:after {
    content:"";
    position:absolute;
    z-index:1;
    inset:4px;
    border-radius:inherit;
    border:1px solid rgba(255,255,255,.34);
    box-shadow:inset 0 5px 8px rgba(255,255,255,.17),inset 0 -5px 9px rgba(0,0,0,.10);
    pointer-events:none;
}
 .nch-style-signature-glass .nch-glass-glare {
    position:absolute;
    z-index:2;
    right:17%;
    top:14%;
    width:19%;
    height:9%;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    filter:blur(.4px);
    transform:rotate(-28deg);
    pointer-events:none;
}
 .nch-style-signature-glass .nch-glass-rings {
    position:absolute;
    z-index:-1;
    inset:-64%;
    display:block;
    pointer-events:none;
}
 .nch-style-signature-glass .nch-glass-rings i {
    position:absolute;
    left:50%;
    top:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
    border:1.5px solid color-mix(in srgb,var(--nch-bg) 30%,rgba(255,255,255,.34));
    box-shadow:0 0 18px color-mix(in srgb,var(--nch-bg) 14%,transparent),inset 0 0 12px rgba(255,255,255,.18);
    opacity:.58;
}
 .nch-style-signature-glass .nch-glass-rings i:nth-child(1) {
    width:112%;
    height:112%
}
 .nch-style-signature-glass .nch-glass-rings i:nth-child(2) {
    width:144%;
    height:144%;
    opacity:.42
}
 .nch-style-signature-glass .nch-glass-rings i:nth-child(3) {
    width:178%;
    height:178%;
    opacity:.28
}
 .nch-style-signature-glass .nch-wa-button .nch-icon {
    position:relative;
    z-index:4;
    width:48%;
    height:48%;
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.24));
    text-shadow:0 1px 0 rgba(255,255,255,.25);
}
 .nch-style-signature-glass .nch-wa-button .nch-icon:before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:-28%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%);
}

/* Signature CTA capsule — same real link behavior, premium presentation. */
 .nch-style-signature-glass .nch-bubble {
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:12px;
    row-gap:2px;
    min-width:210px;
    max-width:min(360px,calc(100vw - var(--nch-size) - 58px));
    min-height:calc(var(--nch-size) * .78);
    padding:10px 48px 10px 20px;
    border:1px solid rgba(176,195,255,.56);
    border-radius:999px;
    background:radial-gradient(circle at 16% 0%,rgba(94,129,255,.22),transparent 34%),linear-gradient(180deg,#20283a 0%,#121827 54%,#0b101c 100%);
    color:#fff;
    box-shadow:0 16px 32px rgba(12,18,31,.28),0 5px 10px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -7px 12px rgba(0,0,0,.22),inset 7px 0 18px rgba(83,126,255,.08),0 0 0 2px rgba(255,255,255,.06);
    backdrop-filter:blur(12px) saturate(135%);
    -webkit-backdrop-filter:blur(12px) saturate(135%);
    transform:translateY(5px) scale(.97);
}
 .nch-style-signature-glass .nch-bubble:before {
    content:"";
    position:absolute;
    left:7%;
    right:10%;
    top:4px;
    height:33%;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.03));
    opacity:.72;
    pointer-events:none;
}
 .nch-style-signature-glass .nch-bubble.is-open {
    transform:none
}
 .nch-style-signature-glass .nch-bubble-text {
    position:relative;
    z-index:2;
    grid-column:1/2;
    grid-row:1/2;
    align-self:end;
    overflow:hidden;
    max-width:220px;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:rgba(255,255,255,.66);
    font-size:10px;
    font-weight:650;
    letter-spacing:.01em;
}
 .nch-style-signature-glass .nch-bubble-cta {
    position:relative;
    z-index:2;
    grid-column:1/3;
    grid-row:2/3;
    display:flex;
    align-items:center;
    gap:13px;
    width:max-content;
    max-width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:16px;
    font-weight:820;
    line-height:1.18;
    letter-spacing:-.015em;
    text-shadow:0 1px 1px rgba(0,0,0,.25);
}
 .nch-style-signature-glass .nch-bubble-cta:after {
    content:"→";
    display:inline-flex;
    align-items:center;
    color:#aebbd0;
    font-size:25px;
    font-weight:400;
    line-height:.7;
    transform:translateY(-1px);
    transition:transform .18s ease,color .18s ease;
}
 .nch-style-signature-glass .nch-bubble-cta:hover:after {
    transform:translate(3px,-1px);
    color:#fff
}
 .nch-style-signature-glass .nch-bubble-close {
    top:auto;
    right:auto;
    left:12px;
    bottom:-9px;
    width:21px;
    height:21px;
    border:2px solid rgba(255,255,255,.78);
    background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.88) 0,rgba(255,255,255,.16) 25%,transparent 42%),linear-gradient(145deg,#ff5d6c,#ef233c 70%,#c5142d);
    color:transparent;
    box-shadow:0 5px 12px rgba(239,35,60,.35),inset 0 1px 0 rgba(255,255,255,.7),0 0 0 5px rgba(255,255,255,.36);
}
 .nch-style-signature-glass .nch-bubble-close:before {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#fff;
    transform:translate(-50%,-50%);
    opacity:.22;
}
 .nch-style-signature-glass.nch-bottom-right .nch-bubble,.nch-style-signature-glass.nch-top-right .nch-bubble,.nch-style-signature-glass.nch-middle-right .nch-bubble {
    margin-right:-8px;
    padding-right:52px
}
 .nch-style-signature-glass.nch-bottom-left .nch-bubble,.nch-style-signature-glass.nch-top-left .nch-bubble,.nch-style-signature-glass.nch-middle-left .nch-bubble {
    margin-left:-8px;
    padding-left:52px;
    padding-right:20px
}
 .nch-style-signature-glass.nch-bottom-left .nch-bubble-close,.nch-style-signature-glass.nch-top-left .nch-bubble-close,.nch-style-signature-glass.nch-middle-left .nch-bubble-close {
    left:auto;
    right:12px
}
 .nch-style-signature-glass.nch-effect-glow .nch-wa-button {
    animation:nch-glass-glow 2.15s ease-in-out infinite
}
 .nch-style-signature-glass.nch-effect-glow .nch-glass-rings i:nth-child(2) {
    animation:nch-glass-ring 2.15s ease-in-out infinite
}
 @keyframes nch-glass-glow {
    0%,100% {
        filter:saturate(1);
        transform:scale(1)
    }
     50% {
        filter:saturate(1.12);
        transform:scale(1.035)
    }
}
 @keyframes nch-glass-ring {
    0%,100% {
        opacity:.32;
        transform:translate(-50%,-50%) scale(.96)
    }
     50% {
        opacity:.58;
        transform:translate(-50%,-50%) scale(1.05)
    }
}
 @media(max-width:782px) {
    .nch-style-signature-glass:before {
        inset:-8px -10px
    }
     .nch-style-signature-glass .nch-bubble {
        min-width:176px;
        max-width:calc(100vw - var(--nch-size) - 42px);
        padding-top:9px;
        padding-bottom:9px
    }
     .nch-style-signature-glass .nch-bubble-text {
        max-width:170px;
        font-size:9px
    }
     .nch-style-signature-glass .nch-bubble-cta {
        font-size:14px;
        gap:9px
    }
     .nch-style-signature-glass .nch-bubble-cta:after {
        font-size:21px
    }
     .nch-style-signature-glass .nch-glass-rings i:nth-child(3) {
        display:none
    }
     .nch-style-signature-glass .nch-wa-button {
        backdrop-filter:blur(6px) saturate(125%);
        -webkit-backdrop-filter:blur(6px) saturate(125%)
    }
}
 @media(prefers-reduced-motion:reduce) {
    .nch-style-signature-glass.nch-effect-glow .nch-wa-button,.nch-style-signature-glass.nch-effect-glow .nch-glass-rings i {
        animation:none!important
    }
}

/* v1.3.8 — remove Signature Glass backdrop; extend the same premium language to Back to Top and Progress */
 .nch-style-signature-glass:before {
    content:none!important;
    display:none!important
}

/* Premium glass Back to Top */
 .nch-backtop .nch-button {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.42);
    background:radial-gradient(circle at 34% 18%,rgba(255,255,255,.68) 0,rgba(255,255,255,.19) 11%,transparent 26%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.22),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 38%,rgba(0,0,0,.18) 78%),var(--nch-bg);
    box-shadow:0 14px 28px rgba(9,16,30,.24),0 5px 11px rgba(0,0,0,.16),inset 0 2px 2px rgba(255,255,255,.50),inset 0 -8px 14px rgba(0,0,0,.20),0 0 0 2px rgba(255,255,255,.07);
}
 .nch-backtop .nch-button:before {
    content:"";
    position:absolute;
    z-index:1;
    left:14%;
    right:14%;
    top:8%;
    height:27%;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.16) 58%,transparent);
    transform:rotate(-13deg);
    opacity:.72;
    pointer-events:none;
}
 .nch-backtop .nch-button:after {
    content:"";
    position:absolute;
    z-index:1;
    inset:4px;
    border-radius:inherit;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:inset 0 4px 7px rgba(255,255,255,.09),inset 0 -5px 9px rgba(0,0,0,.12);
    pointer-events:none;
}
 .nch-backtop .nch-icon {
    position:relative;
    z-index:3;
    width:46%;
    height:46%;
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));
}
 .nch-backtop.is-visible .nch-button:hover {
    transform:translateY(-2px) scale(1.025)
}
 .nch-backtop .nch-button {
    transition:transform .18s ease,box-shadow .18s ease
}

/* Premium glass page-progress rail */
 .nch-page-progress {
    height:max(var(--nch-progress-height),3px);
    padding:0;
    background:rgba(255,255,255,.24);
    border-top:1px solid rgba(255,255,255,.32);
    border-bottom:1px solid rgba(15,23,42,.08);
    box-shadow:0 2px 10px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.35);
    backdrop-filter:blur(7px) saturate(125%);
    -webkit-backdrop-filter:blur(7px) saturate(125%);
    overflow:hidden;
}
 .nch-page-progress span {
    position:relative;
    height:100%;
    border-radius:0 999px 999px 0;
    background:linear-gradient(180deg,rgba(255,255,255,.65) 0,rgba(255,255,255,.18) 34%,transparent 35%),linear-gradient(90deg,color-mix(in srgb,var(--nch-progress-color) 84%,white),var(--nch-progress-color));
    box-shadow:0 0 10px color-mix(in srgb,var(--nch-progress-color) 45%,transparent),0 0 22px color-mix(in srgb,var(--nch-progress-color) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.56),inset 0 -1px 0 rgba(0,0,0,.10);
}
 .nch-page-progress span:after {
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:28px;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.82));
    filter:blur(.4px);
    opacity:.65;
}
 .nch-page-progress-bottom span {
    border-radius:0 999px 999px 0
}
 @supports not (background:color-mix(in srgb,#000 50%,#fff)) {
    .nch-page-progress span {
        background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 42%),var(--nch-progress-color);
        box-shadow:0 0 12px rgba(124,58,237,.28),inset 0 1px 0 rgba(255,255,255,.5)
    }
}
 @media(max-width:782px) {
    .nch-page-progress {
        backdrop-filter:blur(4px);
        -webkit-backdrop-filter:blur(4px)
    }
     .nch-backtop .nch-button {
        box-shadow:0 10px 22px rgba(9,16,30,.21),inset 0 2px 2px rgba(255,255,255,.46),inset 0 -7px 12px rgba(0,0,0,.18)
    }
}
 @media(prefers-reduced-motion:reduce) {
    .nch-backtop .nch-button {
        transition:none!important
    }
}

/* v1.3.9 — Classic WhatsApp visual correction only */
 .nch-style-classic .nch-wa-button {
    overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    background:var(--nch-bg);
    box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.22);
}
 @supports (background:color-mix(in srgb,#000 50%,#fff)) {
    .nch-style-classic .nch-wa-button {
        background:linear-gradient(180deg,color-mix(in srgb,var(--nch-bg) 92%,white),var(--nch-bg));
    }
}
 .nch-style-classic .nch-glass-rings,.nch-style-classic .nch-glass-glare {
    display:none!important
}
 .nch-style-classic .nch-wa-button .nch-icon {
    position:relative;
    z-index:2;
    width:56%;
    height:56%;
    color:var(--nch-fg);
    filter:none;
}
 .nch-style-classic .nch-wa-button .nch-icon svg {
    display:block;
    width:100%;
    height:100%;
    fill:currentColor
}

/* v1.4.0 — refined back-to-top quality + lightweight delight */
 .nch-backtop .nch-button {
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,background .22s ease;
}
 .nch-backtop .nch-icon {
    width:54%;
    height:54%;
}
 .nch-backtop .nch-icon svg {
    overflow:visible;
}
 .nch-backtop:hover .nch-button {
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(0,0,0,.24);
}
 .nch-backtop.nch-launching .nch-button {
    animation:nch-backtop-launch .72s cubic-bezier(.2,.72,.2,1);
}
 .nch-backtop.nch-launching .nch-icon {
    animation:nch-backtop-tilt .72s ease;
}
 @keyframes nch-backtop-launch {
    0% {
        transform:translateY(0) scale(1)
    }
     18% {
        transform:translateY(-5px) scale(1.04)
    }
     52% {
        transform:translateY(-22px) scale(.98)
    }
     100% {
        transform:translateY(-44px) scale(.88);
        opacity:.22
    }
}
 @keyframes nch-backtop-tilt {
    0%,100% {
        transform:translateY(0) rotate(0deg)
    }
     28% {
        transform:translateY(-1px) rotate(-6deg)
    }
     55% {
        transform:translateY(-2px) rotate(0deg)
    }
}
 .nch-root#nch-wa-root,[data-nch-live-wa] {
    --nch-excite:0;
}
 .nch-root#nch-wa-root .nch-wa-button,.nch-root#nch-wa-root .nch-button,[data-nch-live-wa] .nch-wa-button,[data-nch-live-wa] .nch-button {
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
 .nch-root#nch-wa-root.is-excited .nch-wa-button,.nch-root#nch-wa-root.is-excited .nch-button,[data-nch-live-wa].is-excited .nch-wa-button,[data-nch-live-wa].is-excited .nch-button {
    transform:translateY(calc(var(--nch-excite,0) * -3px)) scale(calc(1+var(--nch-excite,0) * .05));
    box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 calc(10px+(var(--nch-excite,0) * 14px)) color-mix(in srgb,var(--nch-bg) 26%,transparent);
    filter:saturate(calc(1+var(--nch-excite,0) * .12));
}
 .nch-root#nch-wa-root.is-excited.nch-effect-pulse .nch-button,.nch-root#nch-wa-root.is-excited.nch-effect-glow .nch-button,[data-nch-live-wa].is-excited.nch-effect-pulse .nch-button,[data-nch-live-wa].is-excited.nch-effect-glow .nch-button {
    animation-duration:1.05s;
}
 @media(prefers-reduced-motion:reduce) {
    .nch-backtop.nch-launching .nch-button,.nch-backtop.nch-launching .nch-icon {
        animation:none!important
    }
     .nch-root#nch-wa-root.is-excited .nch-wa-button,.nch-root#nch-wa-root.is-excited .nch-button,[data-nch-live-wa].is-excited .nch-wa-button,[data-nch-live-wa].is-excited .nch-button {
        transform:none!important;
        filter:none!important
    }
}

/* v1.4.1 — resilient frontend visibility + crisp vector icons */
 .nch-icon svg.nch-svg-stroke {
    fill:none!important;
    stroke:currentColor!important
}
 .nch-icon svg.nch-svg-rocket {
    stroke-width:1.75
}
 .nch-mobile-only {
    display:none!important
}
 .nch-device-none {
    display:none!important
}
 @media(max-width:782px) {
    .nch-mobile-only {
        display:flex!important
    }
    .nch-desktop-only {
        display:none!important
    }
}

/* v1.4.2 — resilient frontend + refined icon/micro-interaction layer */
 .nch-icon svg.nch-svg-stroke {
    fill:none!important;
    stroke:currentColor!important;
    stroke-miterlimit:10;
    vector-effect:non-scaling-stroke
}
 .nch-icon svg.nch-svg-rocket {
    stroke-width:1.65!important
}
 #nch-wa-root.is-excited .nch-glass-rings i:nth-child(1) {
    opacity:.78
}
 #nch-wa-root.is-excited .nch-glass-rings i:nth-child(2) {
    opacity:.68
}
 #nch-wa-root.is-excited .nch-glass-glare {
    opacity:1
}
 .nch-backtop.nch-launching {
    pointer-events:none
}
 @media(prefers-reduced-motion:reduce) {
    #nch-wa-root.is-excited .nch-glass-rings i,#nch-wa-root.is-excited .nch-glass-glare {
        transition:none!important
    }
}

/* v1.4.3 — mobile motion reliability, scalable CTA bubble, bottom-center placement */
 .nch-bottom-center {
    left:50%;
    bottom:calc(var(--nch-y)+env(safe-area-inset-bottom,0px));
    transform:translateX(-50%);
    flex-direction:column;
    align-items:center;
}
 .nch-bottom-center .nch-bubble {
    order:-1;
    margin-left:0!important;
    margin-right:0!important
}
 .nch-bottom-center.nch-backtop {
    transform:translateX(-50%) translateY(6px)
}
 .nch-bottom-center.nch-backtop.is-visible {
    transform:translateX(-50%)
}

/* Bubble size is controlled as a percentage while keeping layout responsive. */
 .nch-bubble {
    font-size:var(--nch-bubble-size,16px);
    gap:.5em;
    padding:.6875em .75em;
    border-radius:.875em
}
 .nch-bubble-text {
    font-size:.8125em
}
 .nch-bubble-cta {
    font-size:.75em;
    padding:.4375em .5625em;
    border-radius:.5625em
}
 .nch-bubble-close {
    width:1.4375em;
    height:1.4375em;
    font-size:1em;
    line-height:1.4375em
}
 .nch-style-signature-glass .nch-bubble {
    column-gap:.75em;
    row-gap:.125em;
    min-width:13.125em;
    max-width:min(22.5em,calc(100vw - var(--nch-size) - 58px));
    padding:.625em 3em .625em 1.25em;
}
 .nch-style-signature-glass .nch-bubble-text {
    max-width:13.75em;
    font-size:.625em
}
 .nch-style-signature-glass .nch-bubble-cta {
    gap:.8125em;
    font-size:1em
}
 .nch-style-signature-glass .nch-bubble-cta:after {
    font-size:1.5625em
}
 .nch-style-signature-glass .nch-bubble-close {
    left:.75em;
    bottom:-.5625em;
    width:1.3125em;
    height:1.3125em
}
 .nch-style-signature-glass.nch-bottom-left .nch-bubble,.nch-style-signature-glass.nch-top-left .nch-bubble,.nch-style-signature-glass.nch-middle-left .nch-bubble {
    padding-left:3.25em;
    padding-right:1.25em
}
 .nch-style-signature-glass.nch-bottom-right .nch-bubble,.nch-style-signature-glass.nch-top-right .nch-bubble,.nch-style-signature-glass.nch-middle-right .nch-bubble {
    padding-right:3.25em
}
 @keyframes nch-touch-pop {
    0% {
        transform:scale(1)
    }
     24% {
        transform:scale(.94)
    }
     58% {
        transform:scale(1.11)
    }
     100% {
        transform:scale(1)
    }
}
 @keyframes nch-touch-ring {
    0% {
        opacity:.3;
        transform:translate(-50%,-50%) scale(.9)
    }
     55% {
        opacity:.78;
        transform:translate(-50%,-50%) scale(1.1)
    }
     100% {
        opacity:.36;
        transform:translate(-50%,-50%) scale(1)
    }
}
 @media(max-width:782px) and (prefers-reduced-motion:no-preference) {
    .nch-effect-pulse .nch-button {
        animation:nch-mobile-pulse 1.55s ease-in-out infinite!important;
        animation-play-state:running!important
    }
     .nch-effect-glow .nch-button {
        animation:nch-mobile-glow 1.8s ease-in-out infinite!important;
        animation-play-state:running!important
    }
     .nch-style-signature-glass.nch-effect-glow .nch-wa-button {
        animation:nch-glass-glow 2.15s ease-in-out infinite!important;
        animation-play-state:running!important
    }
     #nch-wa-root.nch-touch-burst .nch-button {
        animation:nch-touch-pop .64s cubic-bezier(.2,.75,.2,1) 1!important
    }
     #nch-wa-root.nch-touch-burst .nch-glass-rings i {
        animation:nch-touch-ring .64s ease-out 1!important
    }
}
 @media(max-width:782px) {
    .nch-style-signature-glass .nch-bubble {
        min-width:11em;
        max-width:calc(100vw - var(--nch-size) - 42px);
        padding-top:.5625em;
        padding-bottom:.5625em
    }
     .nch-style-signature-glass .nch-bubble-text {
        max-width:10.625em;
        font-size:.5625em
    }
     .nch-style-signature-glass .nch-bubble-cta {
        font-size:.875em;
        gap:.5625em
    }
     .nch-style-signature-glass .nch-bubble-cta:after {
        font-size:1.3125em
    }
}

/* v1.4.4 — force selected Lite motion on mobile even when a browser/OS motion rule
   would otherwise suppress CSS animations. This is scoped only to the plugin's
   explicitly selected CTA effects and launch micro-interaction. */
 @media(max-width:782px) {
    #nch-wa-root.nch-mobile-motion.nch-effect-pulse .nch-wa-button,#nch-wa-root.nch-mobile-motion.nch-effect-pulse .nch-button {
        animation:nch-mobile-pulse 1.45s ease-in-out infinite!important;
        animation-play-state:running!important;
    }
     #nch-wa-root.nch-mobile-motion.nch-effect-glow .nch-wa-button,#nch-wa-root.nch-mobile-motion.nch-effect-glow .nch-button {
        animation:nch-mobile-glow 1.7s ease-in-out infinite!important;
        animation-play-state:running!important;
    }
     #nch-wa-root.nch-mobile-motion.nch-style-signature-glass.nch-effect-glow .nch-wa-button {
        animation:nch-mobile-glass-glow 1.7s ease-in-out infinite!important;
        animation-play-state:running!important;
    }
     #nch-wa-root.nch-mobile-motion.nch-touch-burst .nch-wa-button,#nch-wa-root.nch-mobile-motion.nch-touch-burst .nch-button {
        animation:nch-touch-pop .58s cubic-bezier(.2,.75,.2,1) 1!important;
    }
     #nch-wa-root.nch-mobile-motion.nch-touch-burst .nch-glass-rings i {
        animation:nch-touch-ring .58s ease-out 1!important;
    }
     #nch-backtop.nch-mobile-motion.nch-launching .nch-button {
        animation:nch-backtop-launch .72s cubic-bezier(.2,.72,.2,1)!important;
    }
     #nch-backtop.nch-mobile-motion.nch-launching .nch-icon {
        animation:nch-backtop-tilt .72s ease!important;
    }
}
 @keyframes nch-mobile-glass-glow {
    0%,100% {
        transform:translateZ(0) scale(1);
        filter:saturate(1) brightness(1)
    }
     50% {
        transform:translateZ(0) scale(1.065);
        filter:saturate(1.18) brightness(1.05)
    }
}

/* v1.4.5 — keep Back to Top visible for the complete mobile launch sequence. */
 @media(max-width:782px) {
    #nch-backtop.nch-launching {
        opacity:1!important;
        pointer-events:none!important;
        visibility:visible!important;
    }
     #nch-backtop.nch-launching .nch-button {
        will-change:transform,opacity;
    }
}

/* v1.5.0 — Telegram standalone + subtle automatic motion */
 #nch-tg-root .nch-tg-button {
    overflow:visible
}
 #nch-tg-root .nch-icon {
    width:56%;
    height:56%;
    color:var(--nch-fg)
}
 #nch-tg-root .nch-icon svg {
    display:block;
    width:100%;
    height:100%;
    fill:currentColor
}
 @keyframes nch-tg-float {
    0%,100% {
        transform:translate3d(0,0,0) scale(1)
    }
    45% {
        transform:translate3d(0,-7px,0) scale(1.045)
    }
    65% {
        transform:translate3d(0,1px,0) scale(.995)
    }
}
 #nch-tg-root.nch-effect-pulse .nch-tg-button {
    animation:nch-tg-float 2.4s cubic-bezier(.2,.75,.2,1) infinite
}
 @media(max-width:782px) {
    #nch-tg-root.nch-mobile-motion .nch-tg-button {
        animation:nch-tg-float 2.2s cubic-bezier(.2,.75,.2,1) infinite!important;
        animation-play-state:running!important
    }
}

/* v1.6.0 — hardened placement anchors and refreshed non-WhatsApp tools */
.nch-root.nch-top-left {
    top:calc(var(--nch-y) + env(safe-area-inset-top,0px))!important;
    right:auto!important;
    bottom:auto!important;
    left:calc(var(--nch-x) + env(safe-area-inset-left,0px))!important;
}
.nch-root.nch-top-right {
    top:calc(var(--nch-y) + env(safe-area-inset-top,0px))!important;
    right:calc(var(--nch-x) + env(safe-area-inset-right,0px))!important;
    bottom:auto!important;
    left:auto!important;
}
.nch-root.nch-bottom-left {
    top:auto!important;
    right:auto!important;
    bottom:calc(var(--nch-y) + env(safe-area-inset-bottom,0px))!important;
    left:calc(var(--nch-x) + env(safe-area-inset-left,0px))!important;
}
.nch-root.nch-bottom-right {
    top:auto!important;
    right:calc(var(--nch-x) + env(safe-area-inset-right,0px))!important;
    bottom:calc(var(--nch-y) + env(safe-area-inset-bottom,0px))!important;
    left:auto!important;
}
.nch-root.nch-bottom-center {
    top:auto!important;
    right:auto!important;
    bottom:calc(var(--nch-y) + env(safe-area-inset-bottom,0px))!important;
    left:50%!important;
    transform:translateX(-50%);
}
.nch-root.nch-middle-left {
    top:calc(50% + var(--nch-mid-shift,0px))!important;
    right:auto!important;
    bottom:auto!important;
    left:calc(var(--nch-x) + env(safe-area-inset-left,0px))!important;
    transform:translateY(-50%);
}
.nch-root.nch-middle-right {
    top:calc(50% + var(--nch-mid-shift,0px))!important;
    right:calc(var(--nch-x) + env(safe-area-inset-right,0px))!important;
    bottom:auto!important;
    left:auto!important;
    transform:translateY(-50%);
}
.nch-backtop .nch-button {
    opacity:var(--nch-backtop-opacity,1);
}
#nch-tg-root.nch-effect-glow .nch-tg-button {
    animation:none;
    box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 4px rgba(34,158,217,.16),0 0 30px rgba(34,158,217,.42);
}
#nch-tg-root.nch-effect-none .nch-tg-button {
    animation:none!important;
}


/* v1.6.3 — optional Signature ring toggle */
.nch-rings-hidden .nch-glass-rings{display:none !important;}
