/**
 * Oliv global tokens + shared CTAs
 */
:root {
  --oliv-gold: #ad974f;
  --oliv-gold-dark: #8e793e;
  --oliv-bg: #231f20;
  /* Sparing variation from flat charcoal — use on alternating sections */
  --oliv-bg-alt: #2a2829;
  --oliv-bg-alt2: #252223;
  --oliv-text: #eaeaea;
  --oliv-font-lora: "Lora", Georgia, "Times New Roman", serif;
}

.font-lora,
.font-lora-italic {
  font-family: var(--oliv-font-lora);
}

a.oliv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: 12px 22px;
  line-height: 1.25;
  transition:
    background 0.28s ease,
    color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    backdrop-filter 0.28s ease;
}

a.oliv-btn--primary {
  background: linear-gradient(135deg, var(--oliv-gold) 0%, var(--oliv-gold-dark) 100%);
  color: #231f20;
  border: 1px solid transparent;
}

a.oliv-btn--primary:hover {
  background: linear-gradient(135deg, var(--oliv-gold-dark) 0%, #6b5a2a 100%);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(142, 121, 62, 0.4);
}

a.oliv-btn--ghost {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
}

a.oliv-btn--ghost:hover {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
