:root {
  /* Identidade visual Évora — cores oficiais extraídas do logotipo (PDF da marca) */
  --evora-navy: #004066;
  --evora-navy-dark: #00304C;
  --evora-gold: #B79B3C;
  --evora-gold-dark: #94782C;
  --evora-tint: #E9F0F4;
  --evora-ink: #16303D;

  --bs-link-color: var(--evora-navy);
  --bs-link-hover-color: var(--evora-gold-dark);
}

html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html { font-size: 16px; }
}

body {
  font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--evora-ink);
}

h1, h2, h3, h4, h5, h6 { color: var(--evora-navy); font-weight: 600; }

a { color: var(--evora-navy); }
a:hover { color: var(--evora-gold-dark); }

/* Barra superior dourada→navy */
.evora-topbar { height: 4px; background: linear-gradient(90deg, var(--evora-gold), var(--evora-navy)); }

/* ---------------- Navbar ---------------- */
.evora-navbar { padding-top: .6rem; padding-bottom: .6rem; }
.evora-navbar .nav-link { color: var(--evora-navy); font-weight: 500; position: relative; }
.evora-navbar .nav-link:hover { color: var(--evora-gold-dark); }
.evora-navbar .nav-link::after {
  content: ""; position: absolute; left: .5rem; right: .5rem; bottom: .15rem; height: 2px;
  background: var(--evora-gold); transform: scaleX(0); transition: transform .15s ease;
}
.evora-navbar .nav-link:hover::after { transform: scaleX(1); }

/* ---------------- Logotipo ---------------- */
.evora-logo { height: 32px; width: auto; display: block; }
.evora-product {
  font-weight: 600; color: var(--evora-navy); font-size: .95rem;
  padding-left: .6rem; border-left: 2px solid var(--evora-gold); line-height: 1.1;
}
.evora-footer { background: #fff; }
.evora-footer .evora-logo { height: 26px; }

/* ---------------- Botões ---------------- */
.btn-primary {
  --bs-btn-bg: var(--evora-navy);
  --bs-btn-border-color: var(--evora-navy);
  --bs-btn-hover-bg: var(--evora-navy-dark);
  --bs-btn-hover-border-color: var(--evora-navy-dark);
  --bs-btn-active-bg: var(--evora-navy-dark);
  --bs-btn-active-border-color: var(--evora-navy-dark);
  --bs-btn-disabled-bg: var(--evora-navy);
  --bs-btn-disabled-border-color: var(--evora-navy);
}
.btn-outline-secondary {
  --bs-btn-color: var(--evora-navy);
  --bs-btn-border-color: #c7d3dc;
  --bs-btn-hover-bg: var(--evora-tint);
  --bs-btn-hover-color: var(--evora-navy);
  --bs-btn-hover-border-color: var(--evora-navy);
  --bs-btn-active-bg: var(--evora-tint);
  --bs-btn-active-color: var(--evora-navy);
}
.btn-gold {
  --bs-btn-color: #fff; --bs-btn-bg: var(--evora-gold); --bs-btn-border-color: var(--evora-gold);
  --bs-btn-hover-bg: var(--evora-gold-dark); --bs-btn-hover-border-color: var(--evora-gold-dark); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--evora-gold-dark); --bs-btn-active-border-color: var(--evora-gold-dark);
  --bs-btn-disabled-bg: var(--evora-gold); --bs-btn-disabled-border-color: var(--evora-gold);
  color: #fff;
}

.text-primary { color: var(--evora-navy) !important; }
.bg-primary { background-color: var(--evora-navy) !important; }

/* Foco e seleção */
.btn:focus, .btn:active:focus, .form-control:focus, .form-check-input:focus, .form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(0, 64, 102, .25);
  border-color: var(--evora-navy);
}
.form-check-input:checked { background-color: var(--evora-navy); border-color: var(--evora-navy); }

/* ---------------- Cards / Hero ---------------- */
.card { border-color: #e4ebf0; }
.card-header { background: var(--evora-tint); color: var(--evora-navy); font-weight: 600; }

.evora-hero {
  background: linear-gradient(120deg, var(--evora-tint), #ffffff);
  border: 1px solid #e1e9ef;
}
.evora-hero-art { width: 100%; max-width: 180px; height: auto; }

/* Visualizador de documento */
.doc-viewer { height: 380px; background: #fff; }

/* ---------------- Stepper ---------------- */
.stepper { counter-reset: step; }
.stepper-item {
  display: flex; align-items: center; gap: .4rem;
  padding: .35rem .75rem; border-radius: 2rem; font-size: .9rem;
  background: #eef2f5; color: #7b8a96;
}
.stepper-item .stepper-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: #aeb9c2; color: #fff; font-size: .8rem; font-weight: 600;
}
.stepper-item.ativa { background: var(--evora-tint); color: var(--evora-navy); }
.stepper-item.ativa .stepper-num { background: var(--evora-navy); }
.stepper-item.concluida { background: #f5edd8; color: var(--evora-gold-dark); }
.stepper-item.concluida .stepper-num { background: var(--evora-gold); }
