@font-face {
  font-family: Vazir;
  src: url(../../fonts/Vazir.woff2);
}
@font-face {
  font-family: Samim;
  src: url(../../fonts/Samim.tff);
}
@font-face {
  font-family: IranSanseFuNum;
  src: url(../../fonts/IRANSansWeb_FaNum.woff2);
}
@font-face {
  font-family: Dana;
  src: url(../../fonts/Dana-Regular.woff2);
}
@font-face {
  font-family: iranyekanwebregularfanum;
  src: url(../../fonts/iranyekanwebregularfanum.woff);
}

* {
  font-family: "IranSanseFuNum", "calibri";
  direction: rtl;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* colors */
:root {
  --color-primary: #0052cc;
  --color-primary-hover: #003f99;
  --color-secondary: #00b8a9;
  --color-secondary-hover: #00988d;
  --color-success: #2ecc71;
  --color-success-hover: #27ae60;
  --color-danger: #e74c3c;
  --color-danger-hover: #c0392b;
}
.color-primary {
  color: var(--color-primary);
}
.color-primary:hover {
  color: var(--color-primary-hover);
}
.color-secondary {
  color: var(--color-secondary);
}
.color-secondary:hover {
  color: var(--color-secondary-hover);
}
.color-success {
  color: var(--color-success);
}
.color-success:hover {
  color: var(--color-success-hover);
}

/* buttons */
.button-primary,
.button-primary-outline:hover {
  background-color: var(--color-primary);
  color: white;
}
.button-primary-outline {
  border-color: var(--color-primary);
}
.button-primary:hover {
  background-color: var(--color-primary-hover);
  color: white;
}
.button-secondary,
.button-secondary-outline:hover {
  background-color: var(--color-secondary);
  color: black;
}
.button-secondary:hover {
  background-color: var(--color-secondary-hover);
  color: black;
}
.button-success,
.button-success-outline:hover {
  background-color: var(--color-success);
  color: black;
}
.button-success:hover {
  background-color: var(--color-success-hover);
  color: white;
}
.button-danger,
.button-danger-outline:hover {
  background-color: var(--color-danger);
  color: white;
}
.button-danger:hover {
  background-color: var(--color-danger-hover);
  color: white;
}
.button-danger-outline {
  border-color: var(--color-danger);
}

/* typography */
.fs-8px {
  font-size: 8px;
}
.fs-9px {
  font-size: 9px;
}
.fs-10px {
  font-size: 10px;
}
.fs-11px {
  font-size: 11px;
}
.fs-12px {
  font-size: 12px;
}
.fs-13px {
  font-size: 13px;
}
.fs-16px {
  font-size: 16px;
}
.fs-18px {
  font-size: 18px;
}
.fs-48px {
  font-size: 48px;
}

.fs-sm {
  font-size: 12px;
}

input::placeholder {
  color: gray;
  /* font-style: italic; */
  font-size: 14px;
}

.selectable {
  cursor: pointer;
}

.dropdown-menu {
  max-height: 150px;
  overflow-y: scroll;
}

input::placeholder,
textarea::placeholder {
  font-size: 11px; /* تنظیم پیش‌فرض برای جای‌نماها */
  /* color: #bbb; */
}

#uploadModal .upload-icon {
  font-size: 72px;
}

.height-limited {
  max-height: 400px;
  overflow-y: scroll;
}

.width-overflow {
  overflow-x: auto;
}

table {
  overflow: hidden;
  text-overflow: ellipsis;
  /* white-space: nowrap; */
}

.logo-wrapper {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.blink {
  animation: blink 1.5s infinite;
}

/* درخشش مورب روی لوگو */
.logo-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  animation: shine 2.5s infinite;
}

/* انیمیشن درخشش */
@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}

/* انیمیشن ترکیبی برای لوگو */
.fancy-logo {
  animation: breathe 2s ease-in-out infinite;
}

/* تغییر اندازه، روشنایی و شفافیت */
@keyframes breathe {
  0% {
    transform: scale(1);
    opacity: 0.85;
    filter: brightness(1);
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
    filter: brightness(1.25);
  }
  100% {
    transform: scale(1);
    opacity: 0.85;
    filter: brightness(1);
  }
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
