/* =====================================================
   EMR ŞAHİN GROUP — Toggle (Switch)
   ===================================================== */

/* ── Wrapper ── */
.toggle-group {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  user-select: none;
}

/* Gerçek checkbox'ı gizle */
.toggle-group input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* ── Track (arka plan yolu) ── */
.toggle-track {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 26px;
  border-radius: var(--radius-full);
  background: #CBD5E1;
  border: 1.5px solid #CBD5E1;
  transition:
    background var(--transition-normal),
    border-color var(--transition-normal),
    box-shadow   var(--transition-normal);
  flex-shrink: 0;
}

/* ── Thumb (hareketli top) ── */
.toggle-track::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  transition:
    transform  var(--transition-normal) cubic-bezier(0.34, 1.56, 0.64, 1),
    background var(--transition-normal),
    box-shadow var(--transition-normal);
}

/* ── Aktif Durum ── */
.toggle-group input:checked + .toggle-track {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  border-color: var(--color-primary-dark);
  box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.2);
}

.toggle-group input:checked + .toggle-track::after {
  transform: translateX(22px);
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* ── Hover ── */
.toggle-group:hover .toggle-track {
  background: #B0B8C8;
  border-color: #B0B8C8;
}

/* ── Focus ── */
.toggle-group input:focus-visible + .toggle-track {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

/* ── Label ── */
.toggle-label {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}
.toggle-group input:checked ~ .toggle-label { color: var(--color-text); }
.toggle-group:hover .toggle-label { color: var(--color-text); }

/* ── Boyutlar ── */
/* SM */
.toggle-sm .toggle-track {
  width: 36px;
  height: 20px;
}
.toggle-sm .toggle-track::after {
  width: 13px;
  height: 13px;
  top: 2.5px;
  left: 2.5px;
}
.toggle-sm input:checked + .toggle-track::after {
  transform: translateX(16px);
}

/* LG */
.toggle-lg .toggle-track {
  width: 60px;
  height: 32px;
}
.toggle-lg .toggle-track::after {
  width: 23px;
  height: 23px;
  top: 3.5px;
  left: 3.5px;
}
.toggle-lg input:checked + .toggle-track::after {
  transform: translateX(28px);
}

/* ── Renk Varyantları ── */
.toggle-success input:checked + .toggle-track {
  background: linear-gradient(135deg, var(--color-success), #16A34A);
  border-color: #16A34A;
  box-shadow: 0 0 0 3px rgba(34,197,94,0.2);
}

.toggle-danger input:checked + .toggle-track {
  background: linear-gradient(135deg, var(--color-danger), #DC2626);
  border-color: #DC2626;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.2);
}

.toggle-warning input:checked + .toggle-track {
  background: linear-gradient(135deg, var(--color-warning), #D97706);
  border-color: #D97706;
  box-shadow: 0 0 0 3px rgba(245,158,11,0.2);
}

/* ── Disabled ── */
.toggle-group input:disabled + .toggle-track {
  opacity: 0.45;
  cursor: not-allowed;
}
.toggle-group:has(input:disabled) {
  cursor: not-allowed;
  pointer-events: none;
}
