/* Cairo font fallback + smooth scrolling */
html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Cairo', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* RTL/LTR adjustments */
[dir="rtl"] .ltr-flip {
  transform: scaleX(-1);
}

/* SortableJS ghost styling */
.sortable-ghost {
  opacity: 0.4;
  background: #dbeafe !important;
}

.sortable-chosen {
  background: white !important;
  box-shadow: 0 8px 20px -8px rgba(37, 99, 235, 0.4);
}

/* Subtle button press */
button:active:not(:disabled) {
  transform: scale(0.98);
}

/* Disabled state */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Fade-in for toast */
#toast {
  animation: toastIn 0.25s ease-out;
}
@keyframes toastIn {
  from { opacity: 0; transform: translate(-50%, 20px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* Public page button hover lift */
@media (hover: hover) {
  a.block:hover {
    will-change: transform;
  }
}
