*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--eitorf-bg-page);
  color: var(--eitorf-dark);
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--eitorf-orange-text); text-decoration: none; }
a:hover { color: var(--eitorf-orange-deep); }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
  color: var(--eitorf-dark);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.02em;
}
h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); }
h2 { font-size: clamp(1.2rem, 3vw, 1.75rem); }
h3 { font-size: 1.15rem; }

p { margin-bottom: 0.75rem; }
p:last-child { margin-bottom: 0; }

.eitorf-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.eitorf-section { padding: 2.5rem 0; }
.eitorf-section-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--eitorf-dark);
  margin-bottom: 1.25rem;
}

.eitorf-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.eitorf-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) { .eitorf-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .eitorf-grid-3, .eitorf-grid-2 { grid-template-columns: 1fr; } }

.eitorf-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}
.eitorf-badge-orange { background: #fff3cc; color: #9a5f00; border: 1px solid rgba(255,165,0,0.3); }
.eitorf-badge-green  { background: #eaf7d0; color: #3a7000; border: 1px solid rgba(100,180,0,0.3); }
.eitorf-badge-blue   { background: #e0eeff; color: #0a4f8a; border: 1px solid rgba(12,113,195,0.22); }
.eitorf-badge-gray   { background: #f0f0f0; color: #555;    border: 1px solid #ddd; }

.eitorf-status-pending   { color: #c47d00; }
.eitorf-status-published { color: var(--eitorf-green-text); }
.eitorf-status-rejected  { color: #c0392b; }
.eitorf-status-deleted   { color: #999; }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
