/* Inter (variable) — self-hosted, no external requests */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/static/vendor/inter/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/static/vendor/inter/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --mg-navy: #0b1f3a;
  --mg-navy-2: #122a4d;
  --mg-accent: #2f6fed;
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Brand accent ties into Bootstrap primary */
.btn-primary,
.bg-primary {
  --bs-btn-bg: var(--mg-accent);
  --bs-btn-border-color: var(--mg-accent);
  --bs-btn-hover-bg: #245ad0;
  --bs-btn-hover-border-color: #245ad0;
  background-color: var(--mg-accent);
}
.text-primary { color: var(--mg-accent) !important; }
a { color: var(--mg-accent); }

/* Navbar */
.mg-navbar {
  background-color: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--bs-border-color);
}
[data-bs-theme="dark"] .mg-navbar {
  background-color: rgba(18, 18, 18, 0.92);
}
.mg-admin-nav {
  background-color: var(--mg-navy);
  backdrop-filter: none;
}
.mg-navbar .nav-link.active { color: var(--mg-accent); font-weight: 600; }

/* Hero */
.mg-hero {
  background: linear-gradient(135deg, var(--mg-navy) 0%, var(--mg-navy-2) 100%);
  color: #fff;
}
.mg-hero .text-primary { color: #8db4ff !important; }
.mg-hero .btn-outline-primary { --bs-btn-color:#cfe0ff; --bs-btn-border-color:#cfe0ff; --bs-btn-hover-bg:#fff; --bs-btn-hover-color:var(--mg-navy); }
.mg-hero .btn-outline-secondary { --bs-btn-color:#cbd5e1; --bs-btn-border-color:#475569; --bs-btn-hover-bg:#1e293b; }
.mg-avatar { border: 4px solid rgba(255,255,255,0.25); object-fit: cover; }

/* Cards */
.mg-card {
  border: 1px solid var(--bs-border-color);
  transition: transform .15s ease, box-shadow .15s ease;
}
.mg-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.08); }
.object-fit-cover { object-fit: cover; width: 100%; height: 100%; }
.mg-cover img { height: 100%; width: 100%; object-fit: cover; }

/* Prose (descriptions) */
.mg-prose { line-height: 1.7; white-space: pre-wrap; }

/* Footer */
.mg-footer { background: var(--bs-body-bg); }

/* Stats */
.mg-stat .h2 { color: var(--mg-accent); }

/* Skill tags */
.mg-skill-tag {
  display: inline-block;
  padding: .35rem .7rem;
  font-size: .85rem;
  font-weight: 500;
  border: 1px solid var(--bs-border-color);
  border-radius: 2rem;
  background: var(--bs-body-bg);
}
.mg-skill-tag:hover { border-color: var(--mg-accent); color: var(--mg-accent); }

/* Certificate gallery */
.mg-cert-thumb { height: 150px; object-fit: cover; object-position: top; }
.mg-cert { background: none; }

/* Timeline (About) */
.mg-timeline { position: relative; padding-left: 1.75rem; }
.mg-timeline::before {
  content: ""; position: absolute; left: 7px; top: 4px; bottom: 4px;
  width: 2px; background: var(--bs-border-color);
}
.mg-timeline-item { position: relative; padding-bottom: 1.75rem; }
.mg-timeline-item::before {
  content: ""; position: absolute; left: -1.75rem; top: 4px;
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--mg-accent); border: 3px solid var(--bs-body-bg);
}
