/* ==========================================================================
   main.css — Master Stylesheet
   Bolghani Portfolio
   Import order matters: variables → reset → fonts → components → pages
   ========================================================================== */

/* Base */
@import url('base/_variables.css');
@import url('base/_reset.css');
@import url('base/_fonts.css');

/* Components */
@import url('components/_buttons.css');
@import url('components/_badges.css');
@import url('components/_cards.css');
@import url('components/_forms.css');
@import url('components/_nav.css');
@import url('components/_footer.css');
@import url('components/_footer-cta.css');

/* Pages */
@import url('pages/_home.css');
@import url('pages/_about.css');
@import url('pages/_projects.css');
@import url('pages/_projects-v2.css');
@import url('pages/_project-detail.css');
@import url('pages/_contact.css');
@import url('pages/_ideas.css');
@import url('pages/_home-v2.css');

/* ==========================================================================
   Utility Classes (global use across all pages)
   ========================================================================== */

/* Text utilities */
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-left   { text-align: left; }

.text-navy   { color: var(--color-navy); }
.text-blue   { color: var(--color-blue); }
.text-gold   { color: var(--color-gold); }
.text-muted  { color: var(--color-text-muted); }

.font-bold     { font-weight: var(--font-bold); }
.font-semibold { font-weight: var(--font-semibold); }
.font-medium   { font-weight: var(--font-medium); }

/* Spacing utilities */
.mt-auto { margin-top: auto; }
.mb-0    { margin-bottom: 0; }

/* Display utilities */
.d-none   { display: none; }
.d-block  { display: block; }
.d-flex   { display: flex; }
.d-grid   { display: grid; }

/* Flex utilities */
.flex-center    { display: flex; align-items: center; justify-content: center; }
.flex-between   { display: flex; align-items: center; justify-content: space-between; }
.flex-col       { flex-direction: column; }
.flex-wrap      { flex-wrap: wrap; }
.gap-2          { gap: var(--space-2); }
.gap-3          { gap: var(--space-3); }
.gap-4          { gap: var(--space-4); }
.gap-6          { gap: var(--space-6); }

/* Width utilities */
.w-full { width: 100%; }

/* Background utilities */
.bg-surface { background-color: var(--color-surface); }
.bg-white   { background-color: var(--color-bg); }

/* Border utilities */
.rounded     { border-radius: var(--radius-md); }
.rounded-lg  { border-radius: var(--radius-lg); }
.rounded-full { border-radius: var(--radius-full); }

/* Shadow utilities */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }

/* Divider */
.divider {
  border: none;
  border-top: 1px solid var(--color-border);
}

/* Page wrapper to ensure footer sticks to bottom */
.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Highlight span used in headings */
.highlight {
  color: var(--color-blue);
}

.highlight--gold {
  color: var(--color-gold);
}

/* Inline SVG icon sizing helpers */
.icon-sm { width: 16px; height: 16px; }
.icon-md { width: 20px; height: 20px; }
.icon-lg { width: 24px; height: 24px; }
.icon-xl { width: 32px; height: 32px; }
