@font-face {
  font-family: 'Vazirmatn';
  src: url('/vendor/fonts/vazir/Vazir-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('/vendor/fonts/vazir/Vazir-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('/vendor/fonts/vazir/Vazir-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/vendor/fonts/orbitron/orbitron-latin-500-normal.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/vendor/fonts/orbitron/orbitron-latin-600-normal.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/vendor/fonts/orbitron/orbitron-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --crm-font-family: 'Vazirmatn', 'Vazir', 'Segoe UI', Tahoma, Arial, sans-serif;
  --crm-brand-font-family: 'Orbitron', sans-serif;
  /* Algolia reads this variable; without it the template renders an unstyled inline search. */
  --aa-detached-media-query: (min-width: 0px);
  --bs-font-sans-serif: var(--crm-font-family);
  --bs-body-font-family: var(--crm-font-family);
  --bs-primary: var(--crm-primary-main);
  --bs-primary-rgb: var(--crm-primary-rgb);
  --bs-link-color: var(--crm-primary-main);
  --bs-link-hover-color: var(--crm-primary-dark);
  --bs-focus-ring-color: color-mix(in srgb, var(--crm-primary-main) 25%, transparent);
}

body,
.btn,
.form-control,
.form-select,
.input-group-text,
.form-check-label,
.dropdown-item,
.nav-link,
.table,
.card,
.modal,
.popover,
.tooltip {
  font-family: var(--crm-font-family);
}

/* App name / wordmark only */
.app-brand-text,
.crm-brand-text,
.navbar-brand.crm-brand-text {
  font-family: var(--crm-brand-font-family) !important;
  letter-spacing: 0.04em;
}

.btn-primary {
  --bs-btn-bg: var(--crm-primary-main);
  --bs-btn-border-color: var(--crm-primary-main);
  --bs-btn-hover-bg: var(--crm-primary-dark);
  --bs-btn-hover-border-color: var(--crm-primary-dark);
  --bs-btn-active-bg: var(--crm-primary-dark);
  --bs-btn-active-border-color: var(--crm-primary-dark);
}

.form-check-input:checked {
  background-color: var(--crm-primary-main);
  border-color: var(--crm-primary-main);
}

.form-control:focus,
.form-select:focus {
  border-color: color-mix(in srgb, var(--crm-primary-main) 50%, white);
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--crm-primary-main) 22%, transparent);
}

/* Brand logo — shrink to fit the collapsed menu rail (~4.375rem) */
.app-brand-logo-img {
  display: block;
  height: 2.5rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: height 0.2s ease, max-width 0.2s ease;
}

@media (min-width: 1200px) {
  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-logo-img {
    height: 1.75rem;
    max-width: 2rem;
  }

  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-link {
    justify-content: center;
  }

  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-logo {
    margin-inline: 0;
  }
}

/* Sidebar collapse toggle: core.css sets mask-image but no fill color */
.layout-menu-toggle .menu-toggle-icon {
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/g%3E%3C/svg%3E");
}

.layout-menu-collapsed .layout-menu-toggle .menu-toggle-icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/svg%3E");
}

/* Chromium compatibility for the template's original masked search icon. */
.layout-navbar .aa-DetachedSearchButtonIcon::before,
.aa-DetachedOverlay .aa-SubmitButton::before {
  -webkit-mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
}

/* Navbar primary color picker */
.navbar-color-swatch,
.navbar-color-option {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, currentColor 18%, transparent);
  background-color: var(--crm-primary-main, #2092ec);
  padding: 0;
  vertical-align: middle;
}

.navbar-color-option {
  cursor: pointer;
  border-color: color-mix(in srgb, #000 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 35%, transparent);
}

.navbar-color-option.is-active {
  outline: 2px solid var(--crm-primary-main, #2092ec);
  outline-offset: 2px;
}

.navbar-color-option[data-color-main='#2092EC'] { background-color: #2092EC; }
.navbar-color-option[data-color-main='#7367F0'] { background-color: #7367F0; }
.navbar-color-option[data-color-main='#0D9394'] { background-color: #0D9394; }
.navbar-color-option[data-color-main='#FFAB1D'] { background-color: #FFAB1D; }
.navbar-color-option[data-color-main='#EB3D63'] { background-color: #EB3D63; }

.navbar-color-menu {
  min-width: 11rem;
}

/* Hide leftover template customizer UI if any script still injects it */
.template-customizer,
.customizer-hide .template-customizer {
  display: none !important;
}
