/* ==========================================================================
   Makhmal — Base Styles (fonts, color tokens, resets)
   ========================================================================== */

@font-face {
  font-family: 'Kalameh';
  src: url('../fonts/KalamehWeb-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kalameh';
  src: url('../fonts/KalamehWeb-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kalameh';
  src: url('../fonts/KalamehWeb-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kalameh';
  src: url('../fonts/KalamehWeb-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Dana';
  src: url('../fonts/Dana-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../fonts/Dana-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../fonts/Dana-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../fonts/Dana-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ---- Brand core (logo colors, light → saturated) ---- */
  --mk-blue-highlight: #7C8FFF;
  --mk-blue: #556EF2;
  --mk-indigo: #6657E8;
  --mk-purple: #8248F3;
  --mk-magenta: #A957FF;

  /* ---- Pastel background tints ---- */
  --mk-tint-lightest: #F3F0FF;
  --mk-tint-lilac: #E8E2FF;
  --mk-tint-blue: #DBE6FF;
  --mk-tint-shade: #CFCFFF;

  /* ---- Extra pastel accents (playful surfaces, brand chips) ---- */
  --mk-pastel-mint: #4FCBAE;
  --mk-pastel-peach: #FF9273;
  --mk-pastel-lemon: #EAB308;
  --mk-pastel-rose: #FF6FA0;
  --mk-pastel-sky: #2FA8E8;

  /* ---- Brand gradient ---- */
  --mk-gradient-brand: linear-gradient(90deg, #DDE6FF 0%, #E8E2FF 25%, #7C8FFF 50%, #8248F3 75%, #A957FF 100%);
  --mk-gradient-cta: linear-gradient(135deg, var(--mk-blue) 0%, var(--mk-purple) 100%);

  /* ---- Semantic aliases ---- */
  --mk-color-primary: var(--mk-blue);
  --mk-color-primary-hover: var(--mk-indigo);
  --mk-color-accent: var(--mk-purple);
  --mk-color-accent-2: var(--mk-magenta);

  --mk-color-bg: #FFFFFF;
  --mk-color-bg-soft: var(--mk-tint-lightest);
  --mk-color-bg-muted: var(--mk-tint-lilac);
  --mk-color-surface: #FFFFFF;
  --mk-color-border: var(--mk-tint-shade);

  --mk-color-text: #241E3D;
  --mk-color-text-soft: #5B5578;
  --mk-color-text-muted: #8B84A6;
  --mk-color-text-on-brand: #FFFFFF;

  --mk-color-success: #34C77B;
  --mk-color-warning: #F5A623;
  --mk-color-danger: #EF4444;

  /* ---- Typography ---- */
  --mk-font-heading: 'Kalameh', 'Tahoma', sans-serif;
  --mk-font-body: 'Dana', 'Tahoma', sans-serif;

  --mk-fs-xs: 0.75rem;
  --mk-fs-sm: 0.875rem;
  --mk-fs-base: 1rem;
  --mk-fs-lg: 1.125rem;
  --mk-fs-xl: 1.375rem;
  --mk-fs-2xl: 1.75rem;
  --mk-fs-3xl: 2.25rem;

  /* ---- Spacing / radius / shadow ---- */
  --mk-radius-sm: 8px;
  --mk-radius-md: 14px;
  --mk-radius-lg: 22px;
  --mk-radius-pill: 999px;

  --mk-shadow-sm: 0 2px 8px rgba(85, 110, 242, 0.08);
  --mk-shadow-md: 0 8px 24px rgba(102, 87, 232, 0.14);
  --mk-shadow-lg: 0 16px 40px rgba(130, 72, 243, 0.18);

  --mk-container-max: 1280px;
  --mk-header-height: 76px;

  --mk-transition: 0.2s ease;
}

/* ---- Reset ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  direction: rtl;
  overflow-x: clip;
  font-family: var(--mk-font-body);
  font-size: var(--mk-fs-base);
  color: var(--mk-color-text);
  background-color: var(--mk-color-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--mk-font-heading);
  font-weight: 700;
  color: var(--mk-color-text);
  margin: 0;
}

p {
  margin: 0;
  color: var(--mk-color-text-soft);
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
}

/* inline SVG sprite holder */
.mk-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* sprite icons carry no width/height attributes — keep them square by default
   so a missing size rule never blows up to the 300x150 replaced-element default */
svg {
  width: 1em;
  height: 1em;
  aspect-ratio: 1;
  flex-shrink: 0;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.mk-container {
  max-width: var(--mk-container-max);
  margin-inline: auto;
  padding-inline: 24px;
}
