/*
 * Lady Nicole Floating Widget — Phase 3
 * Dedicated client skin. Loaded after the legacy public stylesheet so the
 * widget can be refined without expanding the old global override stack.
 */

.snh-widget.snh-widget--lady-nicole{
  --snh-runtime-lift:0px;
  --snh-widget-ink:#071C2D;
  --snh-widget-orange:#F4A019;
  --snh-widget-gold:#F4A019;
  --snh-widget-ice:#EDF3F5;
  bottom:calc(max(var(--snh-bottom-offset), calc(env(safe-area-inset-bottom, 0px) + 12px)) + var(--snh-runtime-lift))!important;
  z-index:99980!important;
  transition:bottom .24s ease,transform .24s ease,opacity .2s ease!important;
  animation:lady_nicoleWidgetEnter .44s cubic-bezier(.2,.72,.2,1) both;
  will-change:bottom,transform;
}

.snh-widget.snh-widget--lady-nicole.snh-widget--left{
  left:max(var(--snh-side-offset), calc(env(safe-area-inset-left, 0px) + 12px))!important;
}
.snh-widget.snh-widget--lady-nicole.snh-widget--right{
  right:max(var(--snh-side-offset), calc(env(safe-area-inset-right, 0px) + 12px))!important;
}

.snh-widget.snh-widget--lady-nicole .snh-widget__media{
  border-radius:var(--snh-radius)!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 var(--snh-border-width) var(--snh-border-color),0 18px 46px rgba(45,57,75,.14),0 5px 14px rgba(45,57,75,.08)!important;
  transform:translateZ(0);
  transition:box-shadow .24s ease,transform .24s ease!important;
}
.snh-widget.snh-widget--lady-nicole.snh-widget--shadow-none .snh-widget__media{
  box-shadow:inset 0 0 0 var(--snh-border-width) var(--snh-border-color)!important;
}
.snh-widget.snh-widget--lady-nicole.snh-widget--shadow-soft .snh-widget__media{
  box-shadow:inset 0 0 0 var(--snh-border-width) var(--snh-border-color),0 18px 46px rgba(45,57,75,.14),0 5px 14px rgba(45,57,75,.08)!important;
}
.snh-widget.snh-widget--lady-nicole.snh-widget--shadow-strong .snh-widget__media{
  box-shadow:inset 0 0 0 var(--snh-border-width) var(--snh-border-color),0 24px 58px rgba(45,57,75,.20),0 7px 18px rgba(45,57,75,.10)!important;
}
.snh-widget.snh-widget--lady-nicole:not(.is-minimized):hover .snh-widget__media{
  transform:translateY(-3px);
  box-shadow:inset 0 0 0 var(--snh-border-width) var(--snh-border-color),0 23px 54px rgba(45,57,75,.17),0 7px 16px rgba(45,57,75,.09)!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__open:focus-visible{
  outline:3px solid var(--snh-widget-gold)!important;
  outline-offset:5px!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__open img{
  transition:transform .28s cubic-bezier(.2,.72,.2,1)!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__open:hover img{
  transform:scale(calc(var(--snh-image-zoom) + .012))!important;
}

/* Warm, unobtrusive controls instead of the legacy dark SaaS circles. */
.snh-widget.snh-widget--lady-nicole .snh-widget__close,
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border:1px solid rgba(201,149,24,.28)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--snh-widget-ink)!important;
  box-shadow:0 8px 22px rgba(45,57,75,.13)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__close{
  top:-10px!important;
  right:-10px!important;
  font:400 21px/1 Arial,sans-serif!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__close span{
  display:block!important;
  color:inherit!important;
  transform:translateY(-1px);
}
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize{
  top:-10px!important;
  left:-10px!important;
  font:700 21px/1 Arial,sans-serif!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__close:hover,
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize:hover{
  transform:translateY(-2px)!important;
  border-color:var(--snh-widget-gold)!important;
  color:var(--snh-widget-orange)!important;
  box-shadow:0 10px 24px rgba(45,57,75,.16)!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__close:focus-visible,
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize:focus-visible,
.snh-widget.snh-widget--lady-nicole .snh-widget__restore:focus-visible{
  outline:3px solid var(--snh-widget-gold)!important;
  outline-offset:3px!important;
}

/* The real Lady Nicole launcher artwork is the button; no generic gradient shell. */
.snh-widget.snh-widget--lady-nicole .snh-widget__restore{
  inset:0!important;
  width:var(--snh-minimized-size)!important;
  height:var(--snh-minimized-size)!important;
  min-width:var(--snh-minimized-size)!important;
  min-height:var(--snh-minimized-size)!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:0 12px 28px rgba(45,57,75,.20)!important;
  overflow:visible!important;
  transition:transform .2s ease,filter .2s ease!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__restore:hover{
  transform:translateY(-3px) scale(1.035)!important;
  filter:drop-shadow(0 5px 10px rgba(45,57,75,.12));
}
.snh-widget.snh-widget--lady-nicole .snh-widget__restore-artwork{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  pointer-events:none!important;
}
.snh-widget.snh-widget--lady-nicole.is-minimized,
.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole{
  width:var(--snh-minimized-size)!important;
  max-width:var(--snh-minimized-size)!important;
  animation:none;
}

/* Loading state uses the client's light palette instead of a black shimmer. */
.snh-widget.snh-widget--lady-nicole .snh-widget__media:before{
  background:linear-gradient(110deg,#F7FBFB 18%,#EDF3F5 42%,#F7FBFB 66%)!important;
  background-size:220% 100%!important;
  opacity:.78;
}
.snh-widget.snh-widget--lady-nicole.is-image-error .snh-widget__media:after{
  content:"Book a Personal Session"!important;
  color:var(--snh-widget-ink)!important;
  background:var(--snh-widget-ice)!important;
  font:800 18px/1.25 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.snh-widget.snh-widget--lady-nicole.is-collision-lifted:after{
  content:"";
  position:absolute;
  inset:auto 18% -8px 18%;
  height:1px;
  opacity:.01;
  pointer-events:none;
}

@keyframes lady_nicoleWidgetEnter{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}

@media(max-width:760px){
  .snh-widget.snh-widget--lady-nicole{
    width:var(--snh-mobile-width)!important;
    max-width:calc(100vw - 28px)!important;
  }
  .snh-widget.snh-widget--lady-nicole.snh-widget--left{left:max(12px,env(safe-area-inset-left,0px))!important}
  .snh-widget.snh-widget--lady-nicole.snh-widget--right{right:max(12px,env(safe-area-inset-right,0px))!important}
  .snh-widget.snh-widget--lady-nicole .snh-widget__close,
  .snh-widget.snh-widget--lady-nicole .snh-widget__minimize{
    width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  }
  .snh-widget.snh-widget--lady-nicole .snh-widget__close{top:-8px!important;right:-8px!important}
  .snh-widget.snh-widget--lady-nicole .snh-widget__minimize{top:-8px!important;left:-8px!important}
}

@media(max-width:380px){
  .snh-widget.snh-widget--lady-nicole:not(.is-minimized){width:min(var(--snh-mobile-width),210px)!important}
}

@media(prefers-reduced-motion:reduce){
  .snh-widget.snh-widget--lady-nicole,
  .snh-widget.snh-widget--lady-nicole *,
  .snh-widget.snh-widget--lady-nicole *:before,
  .snh-widget.snh-widget--lady-nicole *:after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Phase 8.1 — Visual cleanup hotfix. */
.snh-widget.snh-widget--lady-nicole .snh-widget__close,
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize{
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  line-height:0!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__close svg,
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  pointer-events:none!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__minimize svg{width:17px!important;height:17px!important;stroke-width:2!important}

/* Hard state gate: minimized means launcher only. These rules intentionally
   come after the generic Lady Nicole control styles so legacy !important rules
   can never make the close/minimize controls visible again. */
.snh-widget.snh-widget--lady-nicole.is-minimized > .snh-widget__open,
.snh-widget.snh-widget--lady-nicole.is-minimized > .snh-widget__close,
.snh-widget.snh-widget--lady-nicole.is-minimized > .snh-widget__minimize,
html.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole > .snh-widget__open,
html.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole > .snh-widget__close,
html.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole > .snh-widget__minimize{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.snh-widget.snh-widget--lady-nicole.is-minimized > .snh-widget__restore,
html.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole > .snh-widget__restore{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.snh-widget.snh-widget--lady-nicole.is-minimized,
html.snh-widget-session-minimized .snh-widget.snh-widget--lady-nicole{
  width:var(--snh-minimized-size)!important;
  min-width:var(--snh-minimized-size)!important;
  max-width:var(--snh-minimized-size)!important;
  height:var(--snh-minimized-size)!important;
  min-height:var(--snh-minimized-size)!important;
  max-height:var(--snh-minimized-size)!important;
  filter:none!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__restore{
  border-radius:16px!important;
  filter:none!important;
  box-shadow:0 10px 26px rgba(45,57,75,.18),0 0 0 1px rgba(201,149,24,.10)!important;
}
.snh-widget.snh-widget--lady-nicole .snh-widget__restore-artwork{
  border-radius:16px!important;
  filter:none!important;
}


/* Lady Nicole widget */
.snh-widget.snh-widget--lady-nicole{--snh-widget-ink:#071C2D;--snh-widget-orange:#F4A019;--snh-widget-gold:#F4A019;--snh-widget-ice:#EDF3F5}
.snh-widget.snh-widget--lady-nicole .snh-widget__media{border-radius:18px!important;box-shadow:0 20px 52px rgba(7,28,45,.20)!important}
.snh-widget.snh-widget--lady-nicole .snh-widget__close,.snh-widget.snh-widget--lady-nicole .snh-widget__minimize{border-radius:8px!important;border-color:rgba(7,28,45,.14)!important;background:#fff!important;color:#071C2D!important}
.snh-widget.snh-widget--lady-nicole .snh-widget__close:hover,.snh-widget.snh-widget--lady-nicole .snh-widget__minimize:hover{background:#071C2D!important;color:#fff!important;border-color:#071C2D!important}
.snh-widget.snh-widget--lady-nicole .snh-widget__restore{border-radius:50%!important;box-shadow:0 13px 30px rgba(7,28,45,.22)!important}
.snh-widget.snh-widget--lady-nicole.is-image-error .snh-widget__media:after{content:"Book Appointment"!important;background:#071C2D!important;color:#fff!important;font-family:Georgia,"Times New Roman",serif!important}
