/* ===============================================
   Astravon Mercura — Utilities
   Author: House Astravon
   =============================================== */

/* -----------------------------
   Spacing Utilities
   ----------------------------- */
.m-0  { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mr-0 { margin-right: 0 !important; }

.m-1  { margin: 0.25rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mb-1 { margin-bottom: 0.25rem !important; }
.ml-1 { margin-left: 0.25rem !important; }
.mr-1 { margin-right: 0.25rem !important; }

.m-2  { margin: 0.5rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.mr-2 { margin-right: 0.5rem !important; }

.m-3  { margin: 1rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.ml-3 { margin-left: 1rem !important; }
.mr-3 { margin-right: 1rem !important; }

/* Padding */
.p-0  { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }

.p-1  { padding: 0.25rem !important; }
.pt-1 { padding-top: 0.25rem !important; }
.pb-1 { padding-bottom: 0.25rem !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pr-1 { padding-right: 0.25rem !important; }

.p-2  { padding: 0.5rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pb-2 { padding-bottom: 0.5rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pr-2 { padding-right: 0.5rem !important; }

.p-3  { padding: 1rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pr-3 { padding-right: 1rem !important; }

/* -----------------------------
   Text Utilities
   ----------------------------- */
.text-left   { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-capitalize { text-transform: capitalize !important; }
.text-bold   { font-weight: 700 !important; }
.text-medium { font-weight: 500 !important; }

/* Font sizes */
.fs-1 { font-size: 0.75rem; }
.fs-2 { font-size: 0.875rem; }
.fs-3 { font-size: 1rem; }
.fs-4 { font-size: 1.125rem; }
.fs-5 { font-size: 1.25rem; }
.fs-6 { font-size: 1.5rem; }
.fs-7 { font-size: 2rem; }

/* -----------------------------
   Color Utilities
   ----------------------------- */
.text-primary   { color: #1D4ED8 !important; } /* Astravon Blue */
.text-secondary { color: #6B7280 !important; } /* Gray */
.text-success   { color: #10B981 !important; } /* Green */
.text-warning   { color: #F59E0B !important; } /* Yellow */
.text-danger    { color: #EF4444 !important; } /* Red */
.text-white     { color: #FFFFFF !important; }
.text-black     { color: #000000 !important; }

.bg-primary     { background-color: #1D4ED8 !important; }
.bg-secondary   { background-color: #6B7280 !important; }
.bg-success     { background-color: #10B981 !important; }
.bg-warning     { background-color: #F59E0B !important; }
.bg-danger      { background-color: #EF4444 !important; }
.bg-white       { background-color: #FFFFFF !important; }
.bg-black       { background-color: #000000 !important; }

/* -----------------------------
   Display Utilities
   ----------------------------- */
.d-block   { display: block !important; }
.d-inline  { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-flex    { display: flex !important; }
.d-none    { display: none !important; }

.flex-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.flex-between {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

/* -----------------------------
   Border Utilities
   ----------------------------- */
.border      { border: 1px solid #E5E7EB !important; }
.border-0    { border: 0 !important; }
.rounded     { border-radius: 0.375rem !important; }
.rounded-sm  { border-radius: 0.125rem !important; }
.rounded-lg  { border-radius: 0.5rem !important; }
.shadow      { box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important; }
.shadow-lg   { box-shadow: 0 10px 15px rgba(0,0,0,0.15) !important; }

/* -----------------------------
   Overflow Utilities
   ----------------------------- */
.overflow-hidden { overflow: hidden !important; }
.overflow-scroll { overflow: scroll !important; }
.overflow-auto   { overflow: auto !important; }

/* -----------------------------
   Cursor Utilities
   ----------------------------- */
.cursor-pointer { cursor: pointer !important; }
