/* =========================================================
   NEZNI CONTACT HUB — FRONTEND v1.0.4
   Müşteriye görünen tüm metinler İngilizcedir.
   v1.0.4: launcher görünüm seçeneği + touch/mouse sonrası kalıcı focus kontürü düzeltmesi.
   ========================================================= */
.nzch,
.nzch *{
  box-sizing:border-box;
}

.nzch{
  --nzch-blue:#009ee3;
  --nzch-blue-dark:#007fb8;
  --nzch-ink:#15202b;
  --nzch-text:#5f6975;
  --nzch-line:rgba(15,23,42,.10);
  --nzch-surface:#ffffff;
  --nzch-soft:#f6f8fa;
  position:fixed;
  right:24px;
  bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  z-index:900;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--nzch-ink);
}

.nzch[hidden]{display:none!important;}

.nzch-launcher{
  width:58px;
  height:58px;
  min-width:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  position:relative;
  margin-left:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  color:#ffffff;
  background:var(--nzch-blue);
  box-shadow:0 12px 28px rgba(15,23,42,.16),0 6px 18px rgba(0,158,227,.18);
  cursor:pointer;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:width 220ms ease,padding 220ms ease,transform 180ms ease,background-color 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}

.nzch.is-labeled:not(.is-open) .nzch-launcher{
  width:112px;
  padding:0 11px 0 13px;
  gap:6px;
}

.nzch-launcher:focus,
.nzch-launcher:focus-visible{
  outline:none!important;
}

/* Touch/mouse tıklamasından sonra kalıcı ikinci kontür gösterilmez. */
.nzch:not(.is-keyboard-nav) .nzch-launcher:focus,
.nzch:not(.is-keyboard-nav) .nzch-launcher:focus-visible{
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.16),0 6px 18px rgba(0,158,227,.18)!important;
}

/* Erişilebilir focus yalnızca gerçek klavye navigasyonunda görünür. */
.nzch.is-keyboard-nav .nzch-launcher:focus-visible{
  outline:2px solid var(--nzch-blue)!important;
  outline-offset:4px;
}

.nzch-launcher-label{
  max-width:0;
  overflow:hidden;
  color:#ffffff;
  font-size:12.5px;
  font-weight:690;
  line-height:1;
  letter-spacing:.005em;
  white-space:nowrap;
  opacity:0;
  transform:translateX(4px);
  transition:max-width 200ms ease,opacity 150ms ease,transform 200ms ease;
}

.nzch.is-labeled:not(.is-open) .nzch-launcher-label{
  max-width:56px;
  opacity:1;
  transform:translateX(0);
}

.nzch-launcher-icon{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
  transition:opacity 160ms ease,transform 180ms ease;
}

.nzch-launcher-icon svg,
.nzch-close svg,
.nzch-channel-icon svg,
.nzch-channel-arrow svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nzch-launcher-icon--close{
  position:absolute;
  left:50%;
  top:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.72) rotate(-12deg);
}

.nzch.is-open .nzch-launcher-icon--open{
  opacity:0;
  transform:scale(.72) rotate(12deg);
}

.nzch.is-open .nzch-launcher-icon--close{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) rotate(0);
}

.nzch-panel{
  width:350px;
  position:absolute;
  right:0;
  bottom:74px;
  padding:18px;
  border:1px solid var(--nzch-line);
  border-radius:18px;
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 60px rgba(15,23,42,.16),0 8px 24px rgba(15,23,42,.08);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px) scale(.985);
  transform-origin:right bottom;
  transition:opacity 180ms ease,visibility 180ms ease,transform 180ms ease;
}

.nzch.is-open .nzch-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.nzch-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:2px 2px 15px;
}

.nzch-panel-kicker{
  margin:0 0 6px;
  color:var(--nzch-blue-dark);
  font-size:10px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.11em;
}

.nzch-panel-title{
  margin:0;
  color:var(--nzch-ink);
  font-size:20px;
  font-weight:760;
  line-height:1.2;
  letter-spacing:-.025em;
}

.nzch-panel-copy{
  margin:7px 0 0;
  color:var(--nzch-text);
  font-size:13.5px;
  line-height:1.5;
}

.nzch-close{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  margin:0;
  padding:10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  color:#52606d;
  background:#fff;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.nzch-close:focus,.nzch-close:focus-visible{outline:none!important;}
.nzch.is-keyboard-nav .nzch-close:focus-visible{outline:2px solid var(--nzch-blue)!important;outline-offset:2px;}

.nzch-channel-list{
  display:grid;
  gap:9px;
}

.nzch-channel{
  min-height:68px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  color:var(--nzch-ink)!important;
  background:#fff;
  text-decoration:none!important;
  cursor:pointer;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform 160ms ease,border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease;
}

.nzch-channel[hidden]{display:none!important;}

.nzch-channel-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-radius:12px;
  transition:transform 180ms ease,background-color 180ms ease,color 180ms ease;
}

/* Kanal renkleri kontrollü ve işlev odaklıdır. */
.nzch-channel--email .nzch-channel-icon{
  color:#0785bd;
  background:#eaf7fd;
}

.nzch-channel--whatsapp .nzch-channel-icon{
  color:#16a45b;
  background:#eaf8f0;
}

.nzch-channel--phone .nzch-channel-icon{
  color:#e47b2b;
  background:#fff3e8;
}

.nzch-channel-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.nzch-channel-text strong{
  color:var(--nzch-ink);
  font-size:14.5px;
  font-weight:740;
  line-height:1.25;
}

.nzch-channel-text small{
  color:var(--nzch-text);
  font-size:12.5px;
  line-height:1.35;
}

.nzch-channel-arrow{
  width:19px;
  height:19px;
  color:var(--nzch-blue-dark);
  transition:transform 180ms ease,color 180ms ease;
}

.nzch-channel:focus,.nzch-channel:focus-visible{outline:none!important;}
.nzch.is-keyboard-nav .nzch-channel:focus-visible{outline:2px solid var(--nzch-blue)!important;outline-offset:2px;}

.nzch-channel:active{
  transform:translateY(1px) scale(.992);
  border-color:rgba(0,158,227,.24);
  background:#fbfdfe;
}

.nzch-launcher:active{
  transform:translateY(1px) scale(.985);
}

@media (hover:hover){
  .nzch-launcher:hover{
    background:#008ac7;
    box-shadow:0 14px 32px rgba(15,23,42,.18),0 7px 20px rgba(0,158,227,.22);
    transform:translateY(-2px);
  }

  .nzch:not(.is-labeled) .nzch-launcher::after{
    content:attr(data-tooltip);
    position:absolute;
    right:70px;
    top:50%;
    padding:7px 10px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:8px;
    color:#26313d;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.10);
    font-size:12px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(4px,-50%);
    transition:opacity 160ms ease,visibility 160ms ease,transform 160ms ease;
  }

  .nzch:not(.is-labeled) .nzch-launcher:hover::after,
  .nzch.is-keyboard-nav:not(.is-labeled) .nzch-launcher:focus-visible::after{
    opacity:1;
    visibility:visible;
    transform:translate(0,-50%);
  }

  .nzch-channel:hover{
    border-color:rgba(0,158,227,.24);
    background:#fbfdfe;
    box-shadow:0 9px 22px rgba(15,23,42,.065);
    transform:translateY(-2px);
  }

  .nzch-channel:hover .nzch-channel-icon{
    transform:scale(1.035);
  }

  .nzch-channel:hover .nzch-channel-arrow{
    color:var(--nzch-blue);
    transform:translateX(3px);
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .nzch{
    right:20px;
    bottom:calc(20px + env(safe-area-inset-bottom, 0px));
  }

  .nzch-launcher{
    width:58px;
    height:58px;
    min-width:58px;
  }

  .nzch.is-labeled:not(.is-open) .nzch-launcher{
    width:112px;
  }

  .nzch-panel{
    width:340px;
    bottom:74px;
  }
}

/* Mobile + Small Mobile: compact contact sheet */
@media (max-width:767px){
  .nzch{
    right:16px;
    bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  }

  .nzch-launcher{
    width:60px;
    height:60px;
    min-width:60px;
  }

  .nzch.is-labeled:not(.is-open) .nzch-launcher{
    width:116px;
    padding-left:14px;
    padding-right:12px;
    gap:6px;
  }

  .nzch-panel{
    width:auto;
    position:fixed;
    left:16px;
    right:16px;
    bottom:calc(88px + env(safe-area-inset-bottom, 0px));
    padding:16px;
    border-radius:18px;
    transform-origin:center bottom;
    transform:translateY(12px) scale(.99);
  }

  .nzch.is-open .nzch-panel{
    transform:translateY(0) scale(1);
  }

  .nzch-panel-title{font-size:19px;}
  .nzch-channel{min-height:68px;}
}

@media (max-width:390px){
  .nzch{
    right:14px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  }

  .nzch-launcher{
    width:58px;
    height:58px;
    min-width:58px;
  }

  .nzch.is-labeled:not(.is-open) .nzch-launcher{
    width:112px;
    padding-left:13px;
    padding-right:11px;
    gap:6px;
  }

  .nzch-launcher-icon{
    width:23px;
    height:23px;
    flex-basis:23px;
  }

  .nzch-panel{
    left:14px;
    right:14px;
    bottom:calc(84px + env(safe-area-inset-bottom, 0px));
    padding:14px;
    border-radius:16px;
  }

  .nzch-panel-head{padding-bottom:13px;}
  .nzch-panel-title{font-size:18px;}
  .nzch-panel-copy{font-size:13px;}
  .nzch-channel{grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;padding:10px;}
  .nzch-channel-icon{width:42px;height:42px;padding:9px;}
}

@media (prefers-reduced-motion:reduce){
  .nzch-launcher,
  .nzch-launcher-label,
  .nzch-launcher-icon,
  .nzch-panel,
  .nzch-channel,
  .nzch-channel-icon,
  .nzch-channel-arrow{
    transition:none!important;
  }
}
