/* ===== CSS VARIABLES ===== */
:root {
  --color-primary:    #003366;
  --color-primary-dk: #d32f2f;
  --color-secondary:  #fe7200;
  --color-accent:     #e67e22;
  --color-bg:         #f5f6fa;
  --color-bg-card:    #ffffff;
  --color-text:       #333333;
  --color-text-muted: #666666;
  --color-border:     #e0e0e0;

  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg: 12px;

  --shadow-sm:  0 1px 3px rgba(0,0,0,.08);
  --shadow-md:  0 4px 12px rgba(0,0,0,.10);

  --transition: 0.2s ease;

  --col-main:    70%;
  --col-sidebar: 28%;
}

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

img { height: auto; max-width: 100%; display: block; }
a   { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-dk); }

/* ===== LAYOUT ===== */
.layout-2col {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 24px 0;
}

/* .main-content { flex: 0 0 var(--col-main); min-width: 0; }
.sidebar      { flex: 0 0 var(--col-sidebar); min-width: 0; } */

/* ===== TYPOGRAPHY ===== */
h1, h2, h3 { color: var(--color-secondary); line-height: 1.3; margin: 0 0 .75rem; }
h1 { font-size: 1.875rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.125rem; }

/* ===== BUTTONS ===== */
.btn-primary {
  display: inline-block;
  background: var(--color-primary);
  color: #fff;
  padding: .6rem 1.4rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background var(--transition);
  text-align: center;
}
.btn-primary:hover { background: var(--color-primary-dk); color: #fff; }
.btn-large { padding: .9rem 2rem; font-size: 1.05rem; }

/* ===== BADGE ===== */
.badge {
  display: inline-block;
  background: #eaf0fb;
  color: #2563eb;
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 20px;
  margin: 2px;
}

/* ===== COUNTRY FLAG ===== */
.country-flag {
  width: 20px;
  height: auto;
  border-radius: 2px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}

/* ===== PAGE HEADER ===== */
.page-header {
  padding: 24px 0 16px;
  border-bottom: 2px solid var(--color-primary);
  margin-bottom: 24px;
}
.page-header .entry-title { margin: 0; font-size: 1.5rem; }

/* ===== SITE HEADER ===== */
.site-header {
  background: var(--color-secondary);
  padding: 12px 0;
}
.header-inner {
  margin: 0 auto;
  padding: 0 var(--container-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
}
.nav-menu a { color: #fff; font-weight: 500; }
.nav-menu a:hover { color: var(--color-accent); }

/* ===== SITE FOOTER ===== */
.site-footer {
  background: var(--color-secondary);
  color: #ccc;
  padding: 32px 0;
  margin-top: 48px;
}
.footer-copy { font-size: .875rem; margin: 0; }

/* ===== JOBS EMPTY ===== */
.jobs-empty { color: var(--color-text-muted); padding: 24px 0; text-align: center; }
