/* ===== NOIR GLOW SKIN — CHAT + BOOKING WIDGETS ===== */
.ngs-hidden{display:none!important}
.ngs *{box-sizing:border-box}

/* ---------- CHAT FAB ---------- */
.ngs-fab{position:fixed;bottom:26px;right:26px;z-index:9700;width:62px;height:62px;border-radius:50%;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px rgba(201,155,90,.4);transition:transform .25s,box-shadow .25s}
.ngs-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 44px rgba(201,155,90,.5)}
.ngs-fab svg{width:26px;height:26px;stroke:#271314}
.ngs-fab .ngs-fab-close{display:none}
.ngs-fab.open .ngs-fab-chat{display:none}
.ngs-fab.open .ngs-fab-close{display:block}
.ngs-fab-badge{position:absolute;top:-3px;right:-3px;width:18px;height:18px;border-radius:50%;background:#FFFFFF;color:#271314;font:700 10px/18px var(--sans,sans-serif);text-align:center;border:2px solid var(--bg,#271314)}
.ngs-fab-ping{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);animation:ngsPing 2.4s ease-out infinite;pointer-events:none}
@keyframes ngsPing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@media(max-width:768px){.ngs-fab{bottom:90px}}

/* ---------- CHAT PANEL ---------- */
.ngs-chat{position:fixed;bottom:102px;right:26px;z-index:9700;width:380px;max-width:calc(100vw - 36px);height:560px;max-height:calc(100vh - 130px);background:#221412;border:1px solid var(--border,rgba(201,155,90,.14));border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6);transform:translateY(20px) scale(.97);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;font-family:var(--sans,sans-serif)}
.ngs-chat.open{opacity:1;transform:none;pointer-events:auto}
.ngs-chat-head{padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.8rem;background:linear-gradient(135deg,#15110a,#221412);border-bottom:1px solid var(--border-dim,rgba(255,255,255,.06))}
.ngs-ava{width:42px;height:42px;border-radius:50%;background:var(--gold-dim,rgba(201,155,90,.12));border:1px solid var(--border,rgba(201,155,90,.14));display:flex;align-items:center;justify-content:center;font-family:var(--serif,serif);color:var(--gold);font-size:1.1rem;flex-shrink:0}
.ngs-chat-head h4{font:600 .92rem/1.2 var(--sans,sans-serif);color:var(--text,#FFFFFF);margin:0}
.ngs-chat-head .ngs-status{font-size:.68rem;color:#C99B5A;display:flex;align-items:center;gap:5px;margin-top:2px}
.ngs-chat-head .ngs-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#C99B5A;box-shadow:0 0 6px #C99B5A}
.ngs-chat-x{margin-left:auto;background:none;border:none;color:var(--text-dim,rgba(255,255,255,.3));font-size:1.4rem;cursor:pointer;line-height:1}
.ngs-chat-x:hover{color:var(--gold)}
.ngs-msgs{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;scrollbar-width:thin;scrollbar-color:rgba(201,155,90,.3) transparent}
.ngs-msgs::-webkit-scrollbar{width:6px}
.ngs-msgs::-webkit-scrollbar-thumb{background:rgba(201,155,90,.3);border-radius:3px}
.ngs-msg{max-width:80%;padding:.7rem .95rem;border-radius:14px;font-size:.85rem;line-height:1.5;animation:ngsMsgIn .35s ease}
@keyframes ngsMsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ngs-msg.bot{align-self:flex-start;background:#17150f;color:var(--text,#FFFFFF);border:1px solid var(--border-dim,rgba(255,255,255,.06));border-bottom-left-radius:4px}
.ngs-msg.user{align-self:flex-end;background:var(--gold,#c99b5a);color:#271314;font-weight:500;border-bottom-right-radius:4px}
.ngs-typing{align-self:flex-start;background:#17150f;border:1px solid var(--border-dim,rgba(255,255,255,.06));padding:.8rem 1rem;border-radius:14px;border-bottom-left-radius:4px;display:flex;gap:5px}
.ngs-typing span{width:7px;height:7px;border-radius:50%;background:var(--gold,#c99b5a);opacity:.5;animation:ngsBlink 1.2s infinite}
.ngs-typing span:nth-child(2){animation-delay:.2s}
.ngs-typing span:nth-child(3){animation-delay:.4s}
@keyframes ngsBlink{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.ngs-quick{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1.2rem .8rem}
.ngs-chip{font-size:.72rem;font-weight:600;color:var(--gold,#c99b5a);border:1px solid rgba(201,155,90,.3);background:rgba(201,155,90,.06);padding:.42rem .8rem;border-radius:40px;cursor:pointer;transition:all .2s}
.ngs-chip:hover{background:var(--gold,#c99b5a);color:#271314}
.ngs-input{display:flex;gap:.5rem;padding:.9rem 1rem;border-top:1px solid var(--border-dim,rgba(255,255,255,.06));background:#20130F}
.ngs-input input{flex:1;background:#15130f;border:1px solid var(--border-dim,rgba(255,255,255,.06));border-radius:24px;padding:.7rem 1rem;color:var(--text,#FFFFFF);font-size:.85rem;font-family:inherit;outline:none}
.ngs-input input:focus{border-color:var(--gold,#c99b5a)}
.ngs-send{width:42px;height:42px;border-radius:50%;background:var(--gold,#c99b5a);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s}
.ngs-send:hover{transform:scale(1.06)}
.ngs-send svg{width:18px;height:18px;stroke:#271314;fill:none}
.ngs-card-btn{margin-top:.55rem;display:inline-block;background:var(--gold,#c99b5a);color:#271314;font:700 .7rem/1 var(--sans,sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1rem;border-radius:6px;cursor:pointer;border:none}

/* ---------- BOOKING MODAL ---------- */
.ngs-modal{position:fixed;inset:0;z-index:9800;background:rgba(4,4,4,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .35s}
.ngs-modal.open{opacity:1;pointer-events:auto}
.ngs-book{width:760px;max-width:100%;max-height:92vh;overflow:hidden;background:#2B1616;border:1px solid var(--border,rgba(201,155,90,.14));border-radius:18px;display:flex;flex-direction:column;transform:translateY(24px) scale(.98);transition:transform .35s;font-family:var(--sans,sans-serif)}
.ngs-modal.open .ngs-book{transform:none}
.ngs-book-head{padding:1.4rem 1.8rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-dim,rgba(255,255,255,.06));background:linear-gradient(135deg,#15110a,#2B1616)}
.ngs-book-head .ngs-ava{width:38px;height:38px}
.ngs-book-head h3{font:400 1.2rem/1 var(--serif,serif);color:var(--text,#FFFFFF);margin:0}
.ngs-book-head .sub{font-size:.72rem;color:var(--text-muted,rgba(255,255,255,.56));margin-top:3px}
.ngs-book-x{margin-left:auto;background:none;border:none;color:var(--text-dim,rgba(255,255,255,.3));font-size:1.6rem;cursor:pointer;line-height:1}
.ngs-book-x:hover{color:var(--gold)}
/* progress */
.ngs-steps{display:flex;gap:0;padding:1.1rem 1.8rem;border-bottom:1px solid var(--border-dim,rgba(255,255,255,.06))}
.ngs-step{flex:1;display:flex;flex-direction:column;gap:.5rem;align-items:center;position:relative}
.ngs-step .dot{width:26px;height:26px;border-radius:50%;border:1px solid var(--border,rgba(201,155,90,.14));background:#15130f;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--text-dim,rgba(255,255,255,.3));transition:all .3s;z-index:1}
.ngs-step .lbl{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim,rgba(255,255,255,.3));transition:color .3s}
.ngs-step::after{content:'';position:absolute;top:13px;left:60%;right:-40%;height:1px;background:var(--border-dim,rgba(255,255,255,.06))}
.ngs-step:last-child::after{display:none}
.ngs-step.active .dot,.ngs-step.done .dot{border-color:var(--gold);color:var(--gold)}
.ngs-step.done .dot{background:var(--gold);color:#271314}
.ngs-step.active .lbl,.ngs-step.done .lbl{color:var(--gold)}
.ngs-book-body{padding:1.8rem;overflow-y:auto}
.ngs-panel{display:none;animation:ngsFade .4s ease}
.ngs-panel.show{display:block}
@keyframes ngsFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ngs-panel h4{font:400 1.4rem/1.2 var(--serif,serif);color:var(--text,#FFFFFF);margin:0 0 1.3rem}
.ngs-panel h4 em{font-style:italic;color:var(--gold)}
/* treatment select */
.ngs-treat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ngs-treat{text-align:left;background:#301B1A;border:1px solid var(--border-dim,rgba(255,255,255,.06));border-radius:10px;padding:1.2rem;cursor:pointer;transition:all .25s;position:relative}
.ngs-treat:hover{border-color:var(--border,rgba(201,155,90,.14));transform:translateY(-2px)}
.ngs-treat.sel{border-color:var(--gold);background:#15110a}
.ngs-treat.sel::after{content:'✓';position:absolute;top:12px;right:14px;color:var(--gold);font-weight:700}
.ngs-treat .nm{font:400 1.15rem/1 var(--serif,serif);color:var(--text,#FFFFFF)}
.ngs-treat .ds{font-size:.74rem;color:var(--text-muted,rgba(255,255,255,.56));margin:.35rem 0 .7rem}
.ngs-treat .pr{font-size:.95rem;font-weight:800;color:var(--gold)}
.ngs-treat .dr{font-size:.7rem;color:var(--text-dim,rgba(255,255,255,.3));margin-left:.5rem}
/* calendar */
.ngs-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ngs-cal-top button{background:#15130f;border:1px solid var(--border-dim,rgba(255,255,255,.06));color:var(--gold);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:1rem}
.ngs-cal-top button:hover{border-color:var(--gold)}
.ngs-cal-top span{font:400 1.1rem/1 var(--serif,serif);color:var(--text,#FFFFFF);text-transform:capitalize}
.ngs-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:1.5rem}
.ngs-cal .wd{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim,rgba(255,255,255,.3));text-align:center;padding:.4rem 0}
.ngs-day{aspect-ratio:1;border:1px solid transparent;border-radius:8px;background:#301B1A;color:var(--text,#FFFFFF);font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}
.ngs-day:hover:not(.off){border-color:var(--gold)}
.ngs-day.off{opacity:.22;cursor:not-allowed}
.ngs-day.sel{background:var(--gold);color:#271314;font-weight:700}
.ngs-times{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.ngs-time{padding:.6rem;border:1px solid var(--border-dim,rgba(255,255,255,.06));border-radius:8px;background:#301B1A;color:var(--text,#FFFFFF);font-size:.8rem;cursor:pointer;transition:all .2s;text-align:center}
.ngs-time:hover{border-color:var(--gold)}
.ngs-time.sel{background:var(--gold);color:#271314;font-weight:700}
.ngs-time small{display:block;font-size:.58rem;color:#C99B5A;margin-top:2px}
.ngs-time.sel small{color:#271314}
.ngs-times-lbl{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,rgba(255,255,255,.56));margin:0 0 .8rem}
/* form */
.ngs-field{margin-bottom:1rem}
.ngs-field label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,rgba(255,255,255,.56));margin-bottom:.45rem}
.ngs-field input{width:100%;background:#15130f;border:1px solid var(--border-dim,rgba(255,255,255,.06));border-radius:8px;padding:.8rem 1rem;color:var(--text,#FFFFFF);font-size:.9rem;font-family:inherit;outline:none}
.ngs-field input:focus{border-color:var(--gold)}
.ngs-field input.err{border-color:#A97635}
.ngs-selected-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(201,155,90,.08);border:1px solid rgba(201,155,90,.24);border-radius:100px;padding:.55rem .55rem .55rem 1.1rem;margin-bottom:1.3rem}
.ngs-chip-txt{font-size:.78rem;font-weight:700;color:var(--gold);letter-spacing:.01em}
.ngs-chip-change{background:#1a1712;border:1px solid var(--border-dim,rgba(255,255,255,.1));color:var(--text-muted,rgba(255,255,255,.56));font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .85rem;border-radius:100px;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s}
.ngs-chip-change:hover{border-color:var(--gold);color:var(--gold)}
.ngs-summary{background:#301B1A;border:1px solid var(--border-dim,rgba(255,255,255,.06));border-radius:10px;padding:1.1rem 1.3rem;margin-bottom:1.4rem}
.ngs-summary .row{display:flex;justify-content:space-between;font-size:.85rem;padding:.35rem 0;color:var(--text-muted,rgba(255,255,255,.56))}
.ngs-summary .row b{color:var(--text,#FFFFFF);font-weight:600}
/* success */
.ngs-success{text-align:center;padding:1.5rem 0}
.ngs-check{width:78px;height:78px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:ngsPop .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes ngsPop{from{transform:scale(0)}to{transform:scale(1)}}
.ngs-check svg{width:38px;height:38px;stroke:var(--gold);stroke-width:2.5;fill:none}
.ngs-success h4{margin-bottom:.6rem}
.ngs-success p{color:var(--text-muted,rgba(255,255,255,.56));font-size:.9rem;max-width:380px;margin:0 auto 1.4rem;line-height:1.7}
/* footer nav */
.ngs-book-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.8rem;border-top:1px solid var(--border-dim,rgba(255,255,255,.06));background:#20130F}
.ngs-btn{padding:.85rem 1.8rem;font:800 .7rem/1 var(--sans,sans-serif);letter-spacing:.14em;text-transform:uppercase;border-radius:3px;cursor:pointer;border:none;transition:all .25s}
.ngs-btn.primary{background:var(--gold);color:#271314}
.ngs-btn.primary:hover{background:var(--gold-light,#e6bd82)}
.ngs-btn.primary:disabled{opacity:.35;cursor:not-allowed}
.ngs-btn.ghost{background:none;border:1px solid var(--border-dim,rgba(255,255,255,.06));color:var(--text-muted,rgba(255,255,255,.56))}
.ngs-btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:560px){.ngs-treat-grid{grid-template-columns:1fr}.ngs-times{grid-template-columns:repeat(3,1fr)}.ngs-book-body{padding:1.3rem}.ngs-steps .lbl{display:none}}

/* ===== WOW LAYER — cursor glow, tilt, ripple, fly CTA, scrollbar (merged from wow.css to save a request) ===== */
html{scrollbar-width:thin;scrollbar-color:rgba(201,155,90,.35) #2B1616}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#2B1616}
::-webkit-scrollbar-thumb{background:rgba(201,155,90,.35);border-radius:6px;border:2px solid #2B1616}
::-webkit-scrollbar-thumb:hover{background:rgba(201,155,90,.55)}

.ngs-cursor-glow{position:fixed;top:0;left:0;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(201,155,90,.09) 0%,transparent 70%);transform:translate(-999px,-999px);pointer-events:none;z-index:1;mix-blend-mode:screen;opacity:0;transition:opacity .5s;will-change:transform}
.ngs-cursor-glow.on{opacity:1}

.ngs-tilt{transition:transform .15s ease-out}

.ngs-ripple{position:absolute;border-radius:50%;background:rgba(10,10,10,.18);transform:scale(0);pointer-events:none;animation:ngsRippleAnim .65s ease-out}
@keyframes ngsRippleAnim{to{transform:scale(3.2);opacity:0}}

.ngs-fly{position:fixed;left:24px;bottom:24px;z-index:9650;display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:#271314!important;padding:.85rem 1.35rem;border-radius:100px;font:800 .66rem/1 var(--sans,sans-serif);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 14px 34px rgba(201,155,90,.35);transform:translateY(20px) scale(.9);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,1.1,.3,1),opacity .35s,box-shadow .25s;cursor:pointer;border:none}
.ngs-fly.show{opacity:1;transform:none;pointer-events:auto}
.ngs-fly:hover{box-shadow:0 18px 44px rgba(201,155,90,.5);transform:translateY(-3px)}
.ngs-fly svg{width:14px;height:14px;stroke:#271314;fill:none;flex-shrink:0}
@media(max-width:768px){.ngs-fly{left:16px;bottom:20px;padding:.75rem 1.05rem;font-size:.6rem}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.ngs-cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){.ngs-fly,.ngs-tilt{transition:none}}
