/* ============================================
   APULEIUS — Buttons
   ============================================ */

/* --- Primary Button (filled) --- */
.btn-primary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 18px 52px;
  border-radius: var(--radius-md);
  background: var(--c-primary);
  color: var(--c-white);
  font-family: var(--ff-body);
  font-size: var(--fs-btn);
  font-weight: 600;
  line-height: var(--lh-btn);
  text-transform: uppercase;
  transition: background var(--transition);
  cursor: pointer;
  border: none;
  white-space: nowrap;
}

.btn-primary:hover {
  background: var(--c-primary-hover);
}

.btn-primary:active {
  background: var(--c-primary-active);
}

/* --- Secondary Button (outlined) --- */
.btn-secondary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 18px 52px;
  border-radius: var(--radius-md);
  border: 1px solid var(--c-primary);
  background: var(--c-primary-bg);
  color: var(--c-text-dark);
  font-family: var(--ff-body);
  font-size: var(--fs-btn);
  font-weight: 600;
  line-height: var(--lh-btn);
  text-transform: uppercase;
  transition: all var(--transition);
  cursor: pointer;
  white-space: nowrap;
}

.btn-secondary:hover {
  border-color: var(--c-primary-hover);
  background: var(--c-primary-bg-hover);
  color: var(--c-primary-hover);
}

.btn-secondary:active {
  border-color: var(--c-primary-active);
  background: var(--c-primary-bg-active);
  color: var(--c-primary-active);
}

/* --- Icon Button (square, outlined) --- */
.btn-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 56px;
  height: 56px;
  padding: 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--c-primary);
  background: var(--c-primary-bg);
  transition: all var(--transition);
  cursor: pointer;
  flex-shrink: 0;
}

.btn-icon svg {
  width: 24px;
  height: 24px;
}

.btn-icon:hover {
  border-color: var(--c-primary-hover);
  background: var(--c-primary-bg-hover);
}

.btn-icon:hover svg path[stroke] {
  stroke: var(--c-primary-hover);
}

.btn-icon:active {
  border-color: var(--c-primary-active);
  background: var(--c-primary-bg-active);
}

.btn-icon:active svg path[stroke] {
  stroke: var(--c-primary-active);
}

.btn-icon--disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* --- Small Icon Button (used in service cards) --- */
.btn-icon--sm {
  width: auto;
  height: auto;
  padding: 10px;
}
