/* ---- BOUTONS ---- */
.btn {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 2rem;
  border-radius: 2px;
  cursor: pointer;
  transition: box-shadow 100ms, transform 100ms, background-color 100ms;
  white-space: nowrap;
}

.btn-primary {
  background: var(--color-primary);
  color: var(--color-dark);
  border: var(--border);
  box-shadow: var(--shadow-sm);
}

.btn-primary:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
  background: var(--color-secondary);
}

.btn-outline {
  background: transparent;
  color: var(--color-dark);
  border: var(--border);
  box-shadow: var(--shadow-sm);
}

.btn-outline:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
  background: var(--color-dark);
  color: var(--color-white);
}

.btn-outline-white {
  background: transparent;
  color: var(--color-white);
  border: 3px solid var(--color-white);
  box-shadow: 4px 4px 0 var(--color-white);
}

.btn-outline-white:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
  background: var(--color-white);
  color: var(--color-dark);
}

/* ---- CARDS ---- */
.card {
  border: var(--border);
  box-shadow: var(--shadow);
  border-radius: 2px;
  transition: box-shadow 100ms, transform 100ms;
  overflow: hidden;
}

.card:hover {
  box-shadow: 3px 3px 0 var(--color-dark);
  transform: translate(3px, 3px);
}

.card-img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  border-bottom: var(--border);
}

.card-body {
  padding: var(--space-md);
}

.card-tag {
  font-family: var(--font-mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-dark);
  opacity: 0.5;
  margin-bottom: var(--space-xs);
  display: block;
}

.card-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-h3);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: var(--space-xs);
}

.card-desc {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  opacity: 0.75;
}

/* ---- TAG / BADGE ---- */
.tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.2rem 0.6rem;
  border: 2px solid var(--color-dark);
  border-radius: 2px;
  background: var(--color-secondary);
}

/* ---- SECTION TITLE ---- */
.section-label {
  font-family: var(--font-mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.5;
  margin-bottom: var(--space-sm);
  display: block;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--text-h2);
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 1.05;
}
