/* حاويات ومسافات */
.container-fluid { max-width: var(--container-max); margin-inline: auto; padding-inline: 16px; }
.py-5 { padding-block: 2rem; }
.my-2 { margin-block: .5rem; }
.my-3 { margin-block: 1rem; }
.my-4 { margin-block: 1.5rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 2rem; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.25rem; }
.gap-2 { gap: .5rem; }
.gap-4 { gap: 1rem; }

/* نصوص */
.text-center { text-align: center; }
.text-muted  { color: var(--muted); }
.display-5  { font-size: clamp(1.6rem, 2vw + 1rem, 2.2rem); font-weight: 800; }

/* أدوات عامة */
.shadow { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.pointer { cursor: pointer; }
.grid { display: grid; }
.stack { display: flex; flex-direction: column; }

/* بطاقات عامة */
.card {
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.card .card-content { padding: 1rem; }

/* أزرار سريعة إن لم تُحمّل forms.css */
.btn { composes: button; } /* (للتوافق – يتجاهلها المتصفح إن لم يدعم) */
.btn { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--btn-radius); border: 1px solid transparent; padding: .55rem 1rem; font-weight: 600; cursor: pointer; }
.btn:hover { opacity: .96; }
.btn-primary { background: var(--brand); color: var(--text-inv); }
.btn-ghost { background: #fff; color: var(--brand); border-color: var(--brand); }
.btn-danger { background: var(--danger); color:#fff; }

/* RTL افتراضي */
html[dir="rtl"] body { direction: rtl; text-align: right; }
