:root {
  --brand-blue: #0b5ed7;
  --brand-blue-dark: #0846a8;
  --brand-gray: #6c757d;
  --text: #222222;
  --muted: #6c757d;
  --bg: #f8f9fa;
  --surface: #ffffff;
  --radius: 0.6rem;
}

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  background: var(--bg);
}

/* Container tweaks */
.container { max-width: 1100px; }

/* Buttons */
.btn-primary {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
  box-shadow: none;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--brand-blue-dark);
  border-color: var(--brand-blue-dark);
}
.btn-outline-secondary { color: var(--brand-blue); }

/* Blog post content */
.post-content img { max-width: 100%; height: auto; }

/* Toasts (Bootstrap handles most) */
.toast { min-width: 240px; }

/* Responsive tweaks */
@media (max-width: 576px) {
  .navbar-brand img { height: 40px; }
  .container { padding-left: 1rem; padding-right: 1rem; }
}

.header-gradient { background: linear-gradient(90deg,var(--brand-blue), var(--brand-blue-dark)); }
.navbar-brand .brand-text { font-weight:600; color:var(--brand-blue); margin-left:6px; }
.card { border-radius: var(--radius); }

/* blog list hover */
.post-card { transition: transform .12s ease, box-shadow .12s ease; display:block; }
.post-card:hover { transform: translateY(-6px); text-decoration:none; box-shadow: 0 6px 18px rgba(20,20,20,0.06); }

/* toast container for contact form notifications */
.toast-container-fixed { position: fixed; right: 1rem; bottom: 1rem; z-index: 1080; }

/* Navbar brand styling - use classes in HTML instead of inline styles */
.navbar-brand .navbar-logo { height: 44px; margin-right: 10px; object-fit: contain; }
@media (max-width: 576px) { .navbar-brand .navbar-logo { height: 40px; } }

/* Skip link for accessibility */
.skip-link { position: absolute; left: -999px; top: auto; width: 1px; height: 1px; overflow: hidden; z-index: -999; }
.skip-link:focus, .skip-link:active {
  position: fixed; left: 1rem; top: 1rem; width: auto; height: auto; padding: 0.5rem 0.75rem; background: #fff; color: #000; border: 1px solid #e0e0e0; z-index: 2000;
}

/* Focus styles for accessibility */
a:focus, button:focus, input:focus, textarea:focus {
  outline: 3px solid rgba(11,94,215,0.18);
  outline-offset: 2px;
}

.site-footer { padding: 1.25rem 0; background: var(--surface); border-top: 1px solid #e9ecef; }

/* Small utility */
.muted { color: var(--muted) !important; }
